RSI & Backed-Weighted MA StrategyRSI & MA Strategy :
INTRODUCTION :
This strategy is based on two well-known indicators that work best together: the Relative Strength Index (RSI) and the Moving Average (MA). We're going to use the RSI as a trend-follower indicator, rather than a reversal indicator as most are used to. To the signals sent by the RSI, we'll add a condition on the chart's MA, filtering out irrelevant signals and considerably increasing our winning rate. This is a medium/long-term strategy. There's also a money management method enabling us to reinvest part of the profits or reduce the size of orders in the event of substantial losses.
RSI :
The RSI is one of the best-known and most widely used indicators in trading. Its purpose is to warn traders when an asset is overbought or oversold. It was designed to send reversal signals, but we're going to use it as a trend indicator by increasing its length to 20. The RSI formula is as follows :
RSI (n) = 100 - (100 / (1 + (H (n)/L (n))))
With n the length of the RSI, H(n) the average of days closing above the open and L(n) the average of days closing below the open.
MA :
The Moving Average is also widely used in technical analysis, to smooth out variations in an asset. The SMA formula is as follows :
SMA (n) = (P1 + P2 + ... + Pn) / n
where n is the length of the MA.
However, an SMA does not weight any of its terms, which means that the price 10 days ago has the same importance as the price 2 days ago or today's price... That's why in this strategy we use a RWMA, i.e. a back-weighted moving average. It weights old prices more heavily than new ones. This will enable us to limit the impact of short-term variations and focus on the trend that was dominating. The RWMA used weights :
The 4 most recent terms by : 100 / (4+(n-4)*1.30)
The other oldest terms by : weight_4_first_term*1.30
So the older terms are weighted 1.30 more than the more recent ones. The moving average thus traces a trend that accentuates past values and limits the noise of short-term variations.
PARAMETERS :
RSI Length : Lenght of RSI. Default is 20.
MA Type : Choice between a SMA or a RWMA which permits to minimize the impact of short term reversal. Default is RWMA.
MA Length : Length of the selected MA. Default is 19.
RSI Long Signal : Minimum value of RSI to send a LONG signal. Default is 60.
RSI Short signal : Maximum value of RSI to send a SHORT signal. Default is 40.
ROC MA Long Signal : Maximum value of Rate of Change MA to send a LONG signal. Default is 0.
ROC MA Short signal : Minimum value of Rate of Change MA to send a SHORT signal. Default is 0.
TP activation in multiple of ATR : Threshold value to trigger trailing stop Take Profit. This threshold is calculated as multiple of the ATR (Average True Range). Default value is 5 meaning that to trigger the trailing TP the price need to move 5*ATR in the right direction.
Trailing TP in percentage : Percentage value of trailing Take Profit. This Trailing TP follows the profit if it increases, remaining selected percentage below it, but stops if the profit decreases. Default is 3%.
Fixed Ratio : This is the amount of gain or loss at which the order quantity is changed. Default is 400, which means that for each $400 gain or loss, the order size is increased or decreased by a user-selected amount.
Increasing Order Amount : This is the amount to be added to or subtracted from orders when the fixed ratio is reached. The default is $200, which means that for every $400 gain, $200 is reinvested in the strategy. On the other hand, for every $400 loss, the order size is reduced by $200.
Initial capital : $1000
Fees : Interactive Broker fees apply to this strategy. They are set at 0.18% of the trade value.
Slippage : 3 ticks or $0.03 per trade. Corresponds to the latency time between the moment the signal is received and the moment the order is executed by the broker.
Important : A bot has been used to test the different parameters and determine which ones maximize return while limiting drawdown. This strategy is the most optimal on BITSTAMP:ETHUSD with a timeframe set to 6h. Parameters are set as follows :
MA type: RWMA
MA Length: 19
RSI Long Signal: >60
RSI Short Signal : <40
ROC MA Long Signal : <0
ROC MA Short Signal : >0
TP Activation in multiple ATR : 5
Trailing TP in percentage : 3
ENTER RULES :
The principle is very simple:
If the asset is overbought after a bear market, we are LONG.
If the asset is oversold after a bull market, we are SHORT.
We have defined a bear market as follows : Rate of Change (20) RWMA < 0
We have defined a bull market as follows : Rate of Change (20) RWMA > 0
The Rate of Change is calculated using this formula : (RWMA/RWMA(20) - 1)*100
Overbought is defined as follows : RSI > 60
Oversold is defined as follows : RSI < 40
LONG CONDITION :
RSI > 60 and (RWMA/RWMA(20) - 1)*100 < -1
SHORT CONDITION :
RSI < 40 and (RWMA/RWMA(20) - 1)*100 > 1
EXIT RULES FOR WINNING TRADE :
We have a trailing TP allowing us to exit once the price has reached the "TP Activation in multiple ATR" parameter, i.e. 5*ATR by default in the profit direction. TP trailing is triggered at this point, not limiting our gains, and securing our profits at 3% below this trigger threshold.
Remember that the True Range is : maximum(H-L, H-C(1), C-L(1))
with C : Close, H : High, L : Low
The Average True Range is therefore the average of these TRs over a length defined by default in the strategy, i.e. 20.
RISK MANAGEMENT :
This strategy may incur losses. The method for limiting losses is to set a Stop Loss equal to 3*ATR. This means that if the price moves against our position and reaches three times the ATR, we exit with a loss.
Sometimes the ATR can result in a SL set below 10% of the trade value, which is not acceptable. In this case, we set the SL at 10%, limiting losses to a maximum of 10%.
MONEY MANAGEMENT :
The fixed ratio method was used to manage our gains and losses. For each gain of an amount equal to the value of the fixed ratio, we increase the order size by a value defined by the user in the "Increasing order amount" parameter. Similarly, each time we lose an amount equal to the value of the fixed ratio, we decrease the order size by the same user-defined value. This strategy increases both performance and drawdown.
Enjoy the strategy and don't forget to take the trade :)
Cerca negli script per "take profit"
Long-Only Opening Range Breakout (ORB) with Pivot PointsIntraday Trading Strategy: Long-Only Opening Range Breakout (ORB) with Pivot Points
Background:
Opening Range Breakout (ORB) is a popular long-only trading strategy that capitalizes on the early morning volatility in financial markets. It's based on the idea that the initial price movements during the first few minutes or hours of the trading day can set the tone for the rest of the session. The strategy involves identifying a price range within which the asset trades during the opening period and then taking long positions when the price breaks out to the upside of this range.
Pivot Points are a widely used technical indicator in trading. They represent potential support and resistance levels based on the previous day's price action. Pivot points are calculated using the previous day's high, low, and close prices and can help traders identify key price levels for making trading decisions.
How to Use the Script:
Initialization: This script is written in Pine Script, a domain-specific language for trading strategies on the TradingView platform. To use this script, you need to have access to TradingView.
Apply the Script: You can do this by adding it to your favorites, then selecting the script in the indicators list under favorites or by searching for it by name under community scripts.
Customize Settings: The script allows you to customize various settings through the TradingView interface. These settings include:
Opening Session: You can set the time frame for the opening session.
Max Trades per Day: Specify the maximum number of long trades allowed per trading day.
Initial Stop Loss Type: Choose between using a percentage-based stop loss or the previous candles low for stop loss calculations.
Stop Loss Percentage: If you select the percentage-based stop loss, specify the percentage of the entry price for the stop loss.
Backtesting Start and End Time: Set the time frame for backtesting the strategy.
Strategy Signals:
The script will display pivot points in blue (R1, R2, R3, R4, R5) and half-pivot points in gray (R0.5, R1.5, R2.5, R3.5, R4.5) on your chart.
The green line represents the opening range.
The script generates long (buy) signals based on specific conditions:
---The open price is below the opening range high (h).
---The current high price is above the opening range high.
---Pivot point R1 is above the opening range high.
---It's a long-only strategy designed to capture upside breakouts.
---It also respects the maximum number of long trades per day.
The script manages long positions, calculates stop losses, and adjusts long positions according to the defined rules.
Trailing Stop Mechanism
The script incorporates a dynamic trailing stop mechanism designed to protect and maximize profits for long positions. Here's how it works:
1. Initialization:
The script allows you to choose between two types of initial stop loss:
---Percentage-based: This option sets the initial stop loss as a percentage of the entry price.
---Previous day's low: This option sets the initial stop loss at the previous day's low.
2. Setting the Initial Stop Loss (`sl_long0`):
The initial stop loss (`sl_long0`) is calculated based on the chosen method:
---If "Percentage" is selected, it calculates the stop loss as a percentage of the entry price.
---If "Previous Low" is selected, it sets the stop loss at the previous day's low.
3. Dynamic Trailing Stop (`trail_long`):
The script then monitors price movements and uses a dynamic trailing stop mechanism (`trail_long`) to adjust the stop loss level for long positions.
If the current high price rises above certain pivot point levels, the trailing stop is adjusted upwards to lock in profits.
The trailing stop levels are calculated based on pivot points (`r1`, `r2`, `r3`, etc.) and half-pivot points (`r0.5`, `r1.5`, `r2.5`, etc.).
The script checks if the high price surpasses these levels and, if so, updates the trailing stop accordingly.
This dynamic trailing stop allows traders to secure profits while giving the position room to potentially capture additional gains.
4. Final Stop Loss (`sl_long`):
The script calculates the final stop loss level (`sl_long`) based on the following logic:
---If no position is open (`pos == 0`), the stop loss is set to zero, indicating there is no active stop loss.
---If a position is open (`pos == 1`), the script calculates the maximum of the initial stop loss (`sl_long0`) and the dynamic trailing stop (`trail_long`).
---This ensures that the stop loss is always set to the more conservative of the two values to protect profits.
5. Plotting the Stop Loss:
The script plots the stop loss level on the chart using the `plot` function.
It will only display the stop loss level if there is an open position (`pos == 1`) and it's not a new trading day (`not newday`).
The stop loss level is shown in red on the chart.
By combining an initial stop loss with a dynamic trailing stop based on pivot points and half-pivot points, the script aims to provide a comprehensive risk management mechanism for long positions. This allows traders to lock in profits as the price moves in their favor while maintaining a safeguard against adverse price movements.
End of Day (EOD) Exit:
The script includes an "End of Day" (EOD) exit mechanism to automatically close any open positions at the end of the trading day. This feature is designed to manage and control positions when the trading day comes to a close. Here's how it works:
1. Initialization:
At the beginning of each trading day, the script identifies a new trading day using the `is_newbar('D')` condition.
When a new trading day begins, the `newday` variable becomes `true`, indicating the start of a new trading session.
2. Plotting the "End of Day" Signal:
The script includes a plot on the chart to visually represent the "End of Day" signal. This is done using the `plot` function.
The plot is labeled "DayEnd" and is displayed as a comment on the chart. It signifies the EOD point.
3. EOD Exit Condition:
When the script detects that a new trading day has started (`newday == true`), it triggers the EOD exit condition.
At this point, the script proceeds to close all open positions that may have been active during the trading day.
4. Closing Open Positions:
The `strategy.close_all` function is used to close all open positions when the EOD exit condition is met.
This function ensures that any remaining long positions are exited, regardless of their current profit or loss.
The function also includes an `alert_message`, which can be customized to send an alert or notification when positions are closed at EOD.
Purpose of EOD Exit
The "End of Day" exit mechanism serves several essential purposes in the trading strategy:
Risk Management: It helps manage risk by ensuring that positions are not left open overnight when markets can experience increased volatility.
Capital Preservation: Closing positions at EOD can help preserve trading capital by avoiding potential adverse overnight price movements.
Rule-Based Exit: The EOD exit is rule-based and automatic, ensuring that it is consistently applied without emotions or manual intervention.
Scalability: It allows the strategy to be applied to various markets and timeframes where EOD exits may be appropriate.
By incorporating an EOD exit mechanism, the script provides a comprehensive approach to managing positions, taking profits, and minimizing risk as each trading day concludes. This can be especially important in volatile markets like cryptocurrencies, where overnight price swings can be significant.
Backtesting: The script includes a backtesting feature that allows you to test the strategy's performance over historical data. Set the start and end times for backtesting to see how the long-only strategy would have performed in the past.
Trade Execution: If you choose to use this script for live trading, make sure you understand the risks involved. It's essential to set up proper risk management, including position sizing and stop loss orders.
Monitoring: Monitor the long-only strategy's performance over time and be prepared to make adjustments as market conditions change.
Disclaimer: Trading carries a risk of capital loss. This script is provided for educational purposes and as a starting point for your own long-only strategy development. Always do your own research and consider seeking advice from a qualified financial professional before making trading decisions.
MMI Auto Backtesting StrategyDescription:
A strategy based on ATR with auto-backtesting capabilities, Take Profit and Stop Loss (either Normal or Trailing). It allows you to select ranges of values and step for each parameter, and backtest the strategy on a multitude of input combinations at once. You can alternatively use a constant value for each parameter. The backtesting results strive to be as close as possible to those given by Tradingview Strategy Tester.
The strategy displays a table with results for different input combinations. This has columns showing current input combination as well as the following stats: Net Profit, Number of trades, % of Profitable trades, Profit Factor, Max Drawdown, Max Runup, Average Trade and Average number of bars in a trade.
You can sort the table by any column (including sorting by multiple columns at the same time) to find, for example, input combination that gives highest Net Profit (or, if sorting by multiple columns, to find input combination with the best balance of Net Profit and % of Profitable trades). You can filter by any column as well (or multiple columns at the same time), using logical expressions like "< value", "> value", "<= value", ">= value". And you can use logical expressions like "< value%" for Net Profit, Max Drawdown, Max Runup and Average trade to filter by percentage value. You will see a "↓" symbol in column's header if that column is sorted from Highest to Lowest, a "↑" symbol if it's sorted from Lowest to Highest and a "𐕢" symbol if that column is being filtered.
The table has customisable styles (like text color, background color of cells, etc.), and can show the total number of backtested combinations with the time taken to test them. You can also change Initial Capital and Position Size (either Contracts, Currency or % of Equity).
Parameters:
The following parameters are located in the "INPUTS (USUAL STRATEGY)" group, and control the behaviour of strategy itself (not the auto-backtesting functionality):
- Period: ATR Length
- Multiplier: ATR Multiplier
- DPO: length of the filtering moving average
- SL: stop loss
- TP: take profit
- Use Stop Loss: enable stop loss
- Stop Loss Mode: stop loss mode (either Normal or Trailing)
- Use Take Profit: enable take profit
- Wicks: use high & low price, or close price
The strategy also has various parameters separated by different groups:
- INPUTS (AUTO-BACKTESTING): has the same parameters as the "INPUTS (USUAL STRATEGY)" group, but controls the input combinations for auto-backtesting; all the numeric parameters have 3 values: F/V (from), T (to) and S (step); if the checkbox to the left of F/V parameter is off, the value of F/V will indicate the constant value used for that parameter (if the checkbox is on, the values will be from F/V to T using step S)
- STRATEGY: contains strategy related parameters like Initial Capital and Position Size
- BACKTESTING: allows you to display either Percentage, Absolute or Both values in the table and has checkboxes that allow you to exclude certain columns from the table
- SORTING: allows you to select sorting mode (Highest to Lowest or vice versa) and has checkboxes in case you want to sort by multiple columns at the same time
- FILTERING: has a text field for each column of the strategy where you can type logical expressions to filter the values
- TABLE: contains styling parameters
Many parameters have the "(i)" description marker, so hover over it to see more details.
Problems:
- The script works best on lower timeframes and continuous markets (trades 24/7), in other cases the backtesting results may vary from those that Tradingview shows
- The script shows closest results when Take Profit and Stop Loss are not used
- Max Runup percentage value is often wrong
Limitations:
- As we are limited by the maximum time a script can be running (which is 20s for Free plan and 40s for Paid plans), we can only backtest several hundreds of combinations within that timeframe (though it depends on the parameters, market and timeframe of the chart you use)
[tradinghook] - Renko Trend Reversal Strategy V2Title: Renko Trend Reversal Strategy
Short Title: - Renko TRS
> Special thanks to for manually calculating `renkoClose` and `renkoOpen` values in order to remove the infamous repaint issue
Description:
The Renko Trend Reversal Strategy ( - Renko TRS) is a powerful and original trading approach designed to identify trend reversals in financial markets using Renko charts. Renko charts differ from traditional time-based charts, as they focus solely on price movements and ignore time, resulting in a clearer representation of market trends. This strategy leverages Renko charts in conjunction with the Average True Range (ATR) to capture trend reversals with high precision and effectiveness.
Key Concepts:
Renko Charts: Renko charts are unique chart types that only plot price movements beyond a predefined brick size, ignoring time and noise. By doing so, they provide a more straightforward depiction of market trends, eliminating insignificant price fluctuations and making it easier to spot trend reversals.
Average True Range (ATR): The strategy utilizes the ATR indicator, which measures market volatility and provides valuable insights into potential price movements. By setting the brick size of the Renko chart based on the ATR, the strategy adapts to changing market conditions, ensuring optimal performance across various instruments and timeframes.
How it Works:
The Renko Trend Reversal Strategy is designed to identify trend reversal points and generate buy or sell signals based on the following principles:
Renko Brick Generation: The strategy calculates the ATR over a user-defined period (ATR Length) and utilizes this value to determine the size of Renko bricks. Larger ATR values result in bigger bricks, capturing higher market volatility, while smaller ATR values create smaller bricks for calmer market conditions.
Buy and Sell Signals: The strategy generates buy signals when the Renko chart's open price crosses below the close price, indicating a potential bullish trend reversal. Conversely, sell signals are generated when the open price crosses above the close price, suggesting a bearish trend reversal. These signals help traders identify potential entry points to capitalize on market movements.
Stop Loss and Take Profit Management: To manage risk and protect profits, the strategy incorporates dynamic stop-loss and take-profit levels. The stop-loss level is calculated as a percentage of the Renko open price, ensuring a fixed risk amount for each trade. Similarly, the take-profit level is set as a percentage of the Renko open price to secure potential gains.
How to Use:
Inputs: Before using the strategy, traders can customize several parameters to suit their trading preferences. These inputs include the ATR Length, Stop Loss Percentage, Take Profit Percentage, Start Date, and End Date. Adjusting these settings allows users to optimize the strategy for different market conditions and risk tolerances.
Chart Setup: Apply the - Renko TRS script to your desired financial instrument and timeframe on TradingView. The Renko chart will dynamically adjust its brick size based on the ATR Length parameter.
Buy and Sell Signals: The strategy will generate green "Buy" labels below bullish reversal points and red "Sell" labels above bearish reversal points on the Renko chart. These labels indicate potential entry points for long and short trades, respectively.
Risk Management: The strategy automatically calculates stop-loss and take-profit levels based on the user-defined percentages. Traders can ensure proper risk management by using these levels to protect their capital and secure profits.
Backtesting and Optimization: Before implementing the strategy live, traders are encouraged to backtest it on historical data to assess its performance across various market conditions. Adjust the input parameters through optimization to find the most suitable settings for specific instruments and timeframes.
Conclusion:
The - Renko Trend Reversal Strategy is a unique and versatile tool for traders looking to identify trend reversals with greater accuracy. By combining Renko charts and the Average True Range (ATR) indicator, this strategy adapts to market dynamics and provides clear entry and exit signals. Traders can harness the power of Renko charts while effectively managing risk through stop-loss and take-profit levels. Before using the strategy in live trading, backtesting and optimization will help traders fine-tune the parameters for optimal performance. Start exploring trend reversals with the - Renko TRS and take your trading to the next level.
(Note: This description is for illustrative purposes only and does not constitute financial advice. Traders are advised to thoroughly test the strategy and exercise sound risk management practices when trading in real markets.)
[tradinghook] - Renko Trend Reversal Strategy - Renko Trend Reversal Strategy
Short Title: - Renko TRS
Description:
The Renko Trend Reversal Strategy ( - Renko TRS) is a powerful and original trading approach designed to identify trend reversals in financial markets using Renko charts. Renko charts differ from traditional time-based charts, as they focus solely on price movements and ignore time, resulting in a clearer representation of market trends. This strategy leverages Renko charts in conjunction with the Average True Range (ATR) to capture trend reversals with high precision and effectiveness.
Key Concepts:
Renko Charts: Renko charts are unique chart types that only plot price movements beyond a predefined brick size, ignoring time and noise. By doing so, they provide a more straightforward depiction of market trends, eliminating insignificant price fluctuations and making it easier to spot trend reversals.
Average True Range (ATR): The strategy utilizes the ATR indicator, which measures market volatility and provides valuable insights into potential price movements. By setting the brick size of the Renko chart based on the ATR, the strategy adapts to changing market conditions, ensuring optimal performance across various instruments and timeframes.
How it Works:
The Renko Trend Reversal Strategy is designed to identify trend reversal points and generate buy or sell signals based on the following principles:
Renko Brick Generation: The strategy calculates the ATR over a user-defined period (ATR Length) and utilizes this value to determine the size of Renko bricks. Larger ATR values result in bigger bricks, capturing higher market volatility, while smaller ATR values create smaller bricks for calmer market conditions.
Buy and Sell Signals: The strategy generates buy signals when the Renko chart's open price crosses below the close price, indicating a potential bullish trend reversal. Conversely, sell signals are generated when the open price crosses above the close price, suggesting a bearish trend reversal. These signals help traders identify potential entry points to capitalize on market movements.
Stop Loss and Take Profit Management: To manage risk and protect profits, the strategy incorporates dynamic stop-loss and take-profit levels. The stop-loss level is calculated as a percentage of the Renko open price, ensuring a fixed risk amount for each trade. Similarly, the take-profit level is set as a percentage of the Renko open price to secure potential gains.
How to Use:
Inputs: Before using the strategy, traders can customize several parameters to suit their trading preferences. These inputs include the ATR Length, Stop Loss Percentage, Take Profit Percentage, Start Date, and End Date. Adjusting these settings allows users to optimize the strategy for different market conditions and risk tolerances.
Chart Setup: Apply the - Renko TRS script to your desired financial instrument and timeframe on TradingView. The Renko chart will dynamically adjust its brick size based on the ATR Length parameter.
Buy and Sell Signals: The strategy will generate green "Buy" labels below bullish reversal points and red "Sell" labels above bearish reversal points on the Renko chart. These labels indicate potential entry points for long and short trades, respectively.
Risk Management: The strategy automatically calculates stop-loss and take-profit levels based on the user-defined percentages. Traders can ensure proper risk management by using these levels to protect their capital and secure profits.
Backtesting and Optimization: Before implementing the strategy live, traders are encouraged to backtest it on historical data to assess its performance across various market conditions. Adjust the input parameters through optimization to find the most suitable settings for specific instruments and timeframes.
Conclusion:
The - Renko Trend Reversal Strategy is a unique and versatile tool for traders looking to identify trend reversals with greater accuracy. By combining Renko charts and the Average True Range (ATR) indicator, this strategy adapts to market dynamics and provides clear entry and exit signals. Traders can harness the power of Renko charts while effectively managing risk through stop-loss and take-profit levels. Before using the strategy in live trading, backtesting and optimization will help traders fine-tune the parameters for optimal performance. Start exploring trend reversals with the - Renko TRS and take your trading to the next level.
(Note: This description is for illustrative purposes only and does not constitute financial advice. Traders are advised to thoroughly test the strategy and exercise sound risk management practices when trading in real markets.)
CCI+EMA Strategy with Percentage or ATR TP/SL [Alifer]This is a momentum strategy based on the Commodity Channel Index (CCI), with the aim of entering long trades in oversold conditions and short trades in overbought conditions.
Optionally, you can enable an Exponential Moving Average (EMA) to only allow trading in the direction of the larger trend. Please note that the strategy will not plot the EMA. If you want, for visual confirmation, you can add to the chart an Exponential Moving Average as a second indicator, with the same settings used in the strategy’s built-in EMA.
The strategy also allows you to set internal Stop Loss and Take Profit levels, with the option to choose between Percentage-based TP/SL or ATR-based TP/SL.
The strategy can be adapted to multiple assets and timeframes:
Pick an asset and a timeframe
Zoom back as far as possible to identify meaningful positive and negative peaks of the CCI
Set Overbought and Oversold at a rough average of the peaks you identified
Adjust TP/SL according to your risk management strategy
Like the strategy? Give it a boost!
Have any questions? Leave a comment or drop me a message.
CAUTIONARY WARNING
Please note that this is a complex trading strategy that involves several inputs and conditions. Before using it in live trading, it is highly recommended to thoroughly test it on historical data and use risk management techniques to safeguard your capital. After backtesting, it's also highly recommended to perform a first live test with a small amount. Additionally, it's essential to have a good understanding of the strategy's behavior and potential risks. Only risk what you can afford to lose .
USED INDICATORS
1 — COMMODITY CHANNEL INDEX (CCI)
The Commodity Channel Index (CCI) is a technical analysis indicator used to measure the momentum of an asset. It was developed by Donald Lambert and first published in Commodities magazine (now Futures) in 1980. Despite its name, the CCI can be used in any market and is not just for commodities. The CCI compares current price to average price over a specific time period. The indicator fluctuates above or below zero, moving into positive or negative territory. While most values, approximately 75%, fall between -100 and +100, about 25% of the values fall outside this range, indicating a lot of weakness or strength in the price movement.
The CCI was originally developed to spot long-term trend changes but has been adapted by traders for use on all markets or timeframes. Trading with multiple timeframes provides more buy or sell signals for active traders. Traders often use the CCI on the longer-term chart to establish the dominant trend and on the shorter-term chart to isolate pullbacks and generate trade signals.
CCI is calculated with the following formula:
(Typical Price - Simple Moving Average) / (0.015 x Mean Deviation)
Some trading strategies based on CCI can produce multiple false signals or losing trades when conditions turn choppy. Implementing a stop-loss strategy can help cap risk, and testing the CCI strategy for profitability on your market and timeframe is a worthy first step before initiating trades.
2 — AVERAGE TRUE RANGE (ATR)
The Average True Range (ATR) is a technical analysis indicator that measures market volatility by calculating the average range of price movements in a financial asset over a specific period of time. The ATR was developed by J. Welles Wilder Jr. and introduced in his book “New Concepts in Technical Trading Systems” in 1978.
The ATR is calculated by taking the average of the true range over a specified period. The true range is the greatest of the following:
The difference between the current high and the current low.
The difference between the previous close and the current high.
The difference between the previous close and the current low.
The ATR can be used to set stop-loss orders. One way to use ATR for stop-loss orders is to multiply the ATR by a factor (such as 2 or 3) and subtract it from the entry price for long positions or add it to the entry price for short positions. This can help traders set stop-loss orders that are more adaptive to market volatility.
3 — EXPONENTIAL MOVING AVERAGE (EMA)
The Exponential Moving Average (EMA) is a type of moving average (MA) that places a greater weight and significance on the most recent data points.
The EMA is calculated by taking the average of the true range over a specified period. The true range is the greatest of the following:
The difference between the current high and the current low.
The difference between the previous close and the current high.
The difference between the previous close and the current low.
The EMA can be used by traders to produce buy and sell signals based on crossovers and divergences from the historical average. Traders often use several different EMA lengths, such as 10-day, 50-day, and 200-day moving averages.
The formula for calculating EMA is as follows:
Compute the Simple Moving Average (SMA).
Calculate the multiplier for weighting the EMA.
Calculate the current EMA using the following formula:
EMA = Closing price x multiplier + EMA (previous day) x (1-multiplier)
STRATEGY EXPLANATION
1 — INPUTS AND PARAMETERS
The strategy uses the Commodity Channel Index (CCI) with additional options for an Exponential Moving Average (EMA), Take Profit (TP) and Stop Loss (SL).
length : The period length for the CCI calculation.
overbought : The overbought level for the CCI. When CCI crosses above this level, it may signal a potential short entry.
oversold : The oversold level for the CCI. When CCI crosses below this level, it may signal a potential long entry.
useEMA : A boolean input to enable or disable the use of Exponential Moving Average (EMA) as a filter for long and short entries.
emaLength : The period length for the EMA if it is used.
2 — CCI CALCULATION
The CCI indicator is calculated using the following formula:
(src - ma) / (0.015 * ta.dev(src, length))
src is the typical price (average of high, low, and close) and ma is the Simple Moving Average (SMA) of src over the specified length.
3 — EMA CALCULATION
If the useEMA option is enabled, an EMA is calculated with the given emaLength .
4 — TAKE PROFIT AND STOP LOSS METHODS
The strategy offers two methods for TP and SL calculations: percentage-based and ATR-based.
tpSlMethod_percentage : A boolean input to choose the percentage-based method.
tpSlMethod_atr : A boolean input to choose the ATR-based method.
5 — PERCENTAGE-BASED TP AND SL
If tpSlMethod_percentage is chosen, the strategy calculates the TP and SL levels based on a percentage of the average entry price.
tp_percentage : The percentage value for Take Profit.
sl_percentage : The percentage value for Stop Loss.
6 — ATR-BASED TP AND SL
If tpSlMethod_atr is chosen, the strategy calculates the TP and SL levels based on Average True Range (ATR).
atrLength : The period length for the ATR calculation.
atrMultiplier : A multiplier applied to the ATR to set the SL level.
riskRewardRatio : The risk-reward ratio used to calculate the TP level.
7 — ENTRY CONDITIONS
The strategy defines two conditions for entering long and short positions based on CCI and, optionally, EMA.
Long Entry: CCI crosses below the oversold level, and if useEMA is enabled, the closing price should be above the EMA.
Short Entry: CCI crosses above the overbought level, and if useEMA is enabled, the closing price should be below the EMA.
8 — TP AND SL LEVELS
The strategy calculates the TP and SL levels based on the chosen method and updates them dynamically.
For the percentage-based method, the TP and SL levels are calculated as a percentage of the average entry price.
For the ATR-based method, the TP and SL levels are calculated using the ATR value and the specified multipliers.
9 — EXIT CONDITIONS
The strategy defines exit conditions for both long and short positions.
If there is a long position, it will be closed either at TP or SL levels based on the chosen method.
If there is a short position, it will be closed either at TP or SL levels based on the chosen method.
Additionally, positions will be closed if CCI crosses back above oversold in long positions or below overbought in short positions.
10 — PLOTTING
The script plots the CCI line along with overbought and oversold levels as horizontal lines.
The CCI line is colored red when above the overbought level, green when below the oversold level, and white otherwise.
The shaded region between the overbought and oversold levels is plotted as well.
Volatility Compression Breakout - LeafAlgo Pro StrategyThe Volatility Compression Breakout strategy is designed to identify periods of low volatility followed by potential breakout opportunities in the market. It aims to capture moments when the price consolidates within a narrow range, indicating a decrease in volatility, and anticipates a subsequent expansion in price movement. This strategy is based on our indicator of the same name (), but differs by offering many more options for the band/channel type and trend filters in addition to implementing the ability to use this strategy with algorithmic plug-ins (see details at the bottom).
This strategy features six types of bands/channels and five types of trend filters, for a total of 30 combinations. The six band/channel types are the Adaptive Gaussian MA channel (based on the Adaptive Gaussian MA that we previously published ()), standard Bollinger Bands, smoothed Bollinger Bands (basis is an EMA of the typical Bollinger Basis), Keltner Channels, a Quadratic Regression Channel (based on the channel that we previously published in the LeafAlgo Pro indicator ()), and Volatility-Based Mean Reversion Bands (). The five trend filters include an EMA, SMA, Weighted MA, McGinley Dynamic, and the Adaptive Gaussian MA itself.
Examples of the different band/channel types (all with EMA as the trend filter):
Adaptive Gaussian MA Channel:
Bollinger Bands:
Smoothed Bollinger Bands:
Keltner Channels:
Quadratic Regression Channel:
Volatility-Based Mean Reversion Bands:
Examples of the different trend filters (all with Keltner Channels):
EMA:
SMA:
WMA:
McGinley Dynamic:
Adaptive Gaussian MA:
How the Long/Short Entry Signals are Calculated:
A breakout signal upwards, accompanied by a long entry, is created when the high is greater than the secondary upper band (the upper band plus a standard deviation or with a multiplier, depending on which band/channel type is selected), the latest close is above the trend filter line, and the previous close was below the trend filter line. A break downwards, accompanied by a short entry, is created when the low is below the secondary lower band, the close is below the trend filter line, and the previous close was above the trend filter line. These conditions, along with a confirmed barstate, make up the strategy entry signals.
Coloration:
When the close price is above both the middle/basis and the trend filter, the bars are colored lime green, indicating a potential bullish market sentiment. When the close price is positioned above the basis but below the trend filter, or below the basis but above the trend filter, the bars are colored yellow, signifying a neutral or indecisive market condition. Conversely, when the close price falls below both the basis and the trend filter, the bars are colored fuchsia, suggesting a potential bearish market sentiment. Additionally, the coloration of the middle/basis line and the trend filter provides further visual cues for assessing the trend. When the close price is above the basis, the line is colored lime green, indicating a bullish trend. Conversely, when the close price is below the basis, the line is colored fuchsia, highlighting a bearish trend. Similarly, the trend line is colored lime green when the close price is above it, representing a bullish trend, and fuchsia when the close price is below it, indicating a bearish trend. The fill between the primary and secondary upper bands is colored lime and the fill between the primary and secondary lower bands is colored fuchsia. These colorations can be toggled on/off in the strategy settings menu.
How Changing Parameters Can Be Beneficial:
Modifying the parameters allows you to adapt the indicator to different market conditions and trading styles. For example, with Keltner Channels, increasing the compression period can help identify broader volatility patterns and major market shifts. On the other hand, decreasing the compression period provides more precise and timely signals for short-term traders. Adjusting the compression multiplier affects the width of the Keltner Channels. Higher multipliers increase the breakout threshold, filtering out smaller price movements and providing more reliable signals during significant market shifts. Lower multipliers make the indicator more sensitive to smaller price ranges, generating more frequent but potentially less reliable signals.
Changing the type of trend filter can drastically change your results. Test out each trend filter type and determine which one will work best for your purposes. Further, the MA periods in the trend filter settings can help you align your trades with the prevailing market direction. Increasing the period smoothes out the trend, filtering out shorter-term fluctuations and focusing on more sustained moves. Decreasing the period allows for quicker responses to changes in trend, capturing shorter-term price swings.
By adjusting the parameters and incorporating additional analysis techniques, you can customize the strategy to suit your trading style and preferences. However, it is crucial to exercise caution, conduct thorough analysis, and practice proper risk management to increase the likelihood of successful trades. Remember that no strategy can guarantee profits, and continuous learning and adaptation are key to long-term trading success.
Take Profit/Stop Loss Settings:
Take profit, stop loss, and trailing percentages are also included, found at the bottom of the Input tab under “TT and TTP” as well as “Stop Loss”. The take profit and stop loss levels will be reflected as green and red lines respectively on the chart as they occur. Make sure to understand the TP/SL ratio that you desire before use, as the desired hit rate/profitability percentage will be affected accordingly. The option for adding in a trailing stop has also been included, with options to choose between an ATR-based trail or a percentage-based trail. This strategy does NOT guarantee future returns. Apply caution in trading regardless of discretionary or algorithmic. Understand the concepts of risk/reward and the intricacies of each strategy choice before utilizing them in your personal trading.
Profitview/Pineconnector Settings:
If you wish to utilize Profitview’s automation system, find the included “Profitview Settings” under the Input tab of the strategy settings menu. If not, skip this section entirely as it can be left blank. Options will be “OPEN LONG TITLE”, “OPEN SHORT TITLE”, “CLOSE LONG TITLE”, and “CLOSE SHORT TITLE”. If you wished to trade SOL, for example, you would put “SOL LONG”, “SOL SHORT”, “SOL CLOSE LONG”, and “SOL CLOSE SHORT” in these areas. Within your Profitview extension, ensure that your Alerts all match these titles. To set an alert for use with Profitview, go to the “Alerts” tab in TradingView, then create an alert. Make sure that your desired asset and timeframe are currently displayed on your screen when creating the alert. Under the “Condition” option of the alert, select the strategy, then select the expiration time. If using TradingView Premium, this can be open-ended. Otherwise, select your desired expiration time and date. This can be updated whenever desired to ensure the strategy does not expire. Under “Alert actions”, nothing necessarily needs to be selected unless so desired. Leave the “Alert name” option empty. For the “Message”, delete the generated message and replace it with {{strategy.order.alert_message}} and nothing else. If using Pineconnector, follow the same directions for setting up an alert, but use the ",buy,,risk=" syntax as noted in the tooltips.
Additional Sample Settings (for ETHUSDT-Binance 45M):
Band/Channel Type - Keltner Channels (Compression Period of 20, Multiplier of 1.8x)
Trend Filter - WMA (50 length, no offset, close as the source)
TP/SL - 3.0% TP / 2.0% SL, 0.005 trailed TP, no trailed SL
[SMA Cross + HHLL] Signal Clean Up Analysis with Backtest (TSO) This is a DEMO indicator with a simple 2 SMAs cross for signals + HHLL for TP/SL. It mainly demonstrates chained (NOTE: You can select several or ALL of the features, this is not limited to either one) signal cleanup and analysis approach with scheduling and alerting capabilities. Works with most popular timeframes: 1M, 5M, 15M, 1H, 4H, D.
===========================================================================
Here are some pre-set examples with nice Backtesting results (try em out!):
---------------------------------------------------------------------------
>>> Indexes – SPY (INTRADAY SETUP ): Timeframe: 5M | Trading Schedule: ON, 10:00-15:45 ET, EOD: At Market Close | Trading System: Open Until Closed by TP or SL | MULTIPROFIT: TP (take profit) System: Dynamic | MULTIPROFIT: SL (stop loss) System (This is only for “Dynamic” TP System ONLY!!!): Dynamic | # of TPs: 5 | Skip opposite candle types in signals, which are opposite to direction of candle color (for example: bearish green hammer) | Everything else: Default
>>> Bitcoin – BTCUSD (24/7 SETUP): Timeframe: 1H | Trading Schedule: OFF, End of Day (EOD): OFF | Trading System: Open Until Closed by TP or SL | MULTIPROFIT: TP (take profit) System: Dynamic | MULTIPROFIT: SL (stop loss) System (This is only for “Dynamic” TP System ONLY!!!): Dynamic | # of TPs: 3 | TP(s) Offset: on, TP(s) offset amount: 50 | ATR confirmation | Everything else: Default
===========================================================================
Explanation of all the Features | Configuration Guide | Indicator Settings
---------------------------------------------------------------------------
---------------------------------------------------------------------------
Signal cleanup analysis:
---------------------------------------------------------------------------
>>> Customizable Backtesting for a specific date range, results via TradingView strategy, which includes “Deep Backtesting” for largest amounts of data on trading results.
>>> Trading Schedule with customizable trading daily time range, automatic closing/alert trades before Power Hour or right before market closes or leave it open until next day.
>>> 3 Trading Systems.
>>> Static/Dynamic Take-Profit setups (HILIGHT: momentum catch dynamic Take-Profit approach).
>>> Static/Dynamic Stop-Loss setups (HIGHLIGHT: smart trailing Stop-Loss which minimizes risk).
>>> Single or Multiple profit targets (up to 5).
>>> Take-Profit customizable offset feature (set your Take-Profit targets slightly before everyone is expecting it!).
>>> Candle bar signal analysis (skip opposite structured and/or doji candle uncertain signals).
>>> Additional analysis of VWAP/EMA/ATR/EWO (Elliot Wave Oscillator)/Divergence MACD+RSI signal confirmation (clean up your chart with indicator showing only the best potential signals!).
>>> Advanced Alerts setup, which can be potentially setup with a trading bot over TradingView Webhook (NOTE: This will require advanced programming knowledge).
>>> Customize your signal SOURCE and your Take-Profit/Stop-Loss SOURCES as you desire.
===========================================================================
Labels, plots, colors explanations:
---------------------------------------------------------------------------
>>>>> Signal SOURCE: SMA crossings (green and red BIG circles) .
>>>>> Take-profit/Stop-loss SOURCE: HHLL (Highest High Lowest Low) .
>>>>> LONG open: green arrow below candle bar.
>>>>> SHORT open: red arrow above candle bar.
>>>>> LONG/SHORT take-profit target: green/red circles (multi-profit > TP2/3/4/5 smaller circles).
>>>>> LONG/SHORT take-profit hits: green/red diamonds.
>>>>> LONG/SHORT stop-loss target: green/red + crosses.
>>>>> LONG/SHORT stop-loss hits: green/red X-crosses.
>>>>> LONG/SHORT EOD close (profitable trade): green/red squares.
>>>>> LONG/SHORT EOD close (loss trade): green/red PLUS(+)-crosses.
===========================================================================
Date Range and Trading Schedule Settings
---------------------------------------------------------------------------
>>>>> Date Range: Select your start and/or end dates (uncheck “End” for indicator to show results up to the very moment and to use for LIVE trading) for backtesting results, if not using backtesting – uncheck “Start”/“End” to turn it off.
---------------------------------------------------------------------------
>>>>> Use TradingView “Strategy Tester” to see backtesting results
---------------------------------------------------------------------------
NOTE: If Strategy Tester does not show any results with Date Ranged fully unchecked, there may be an issue where a script opens a trade, but there is not enough TradingView power to set the Take-Profit and Stop-Loss and somehow an open trade gets stuck and never closes, so there are “no trades present”. In such case you will need to manually check “Start”/“End” dates or use “Depp Backtesting” feature!
---------------------------------------------------------------------------
>>>>> Trading Schedule: This is where you can setup Intraday Session or any custom session schedule you wish. Turn it ON. Select trading hours. Select EOD (End of Day) setting (NOTE: If it will be OFF, the indicator will assume you are holding your position open until next day!).
>>>>> Trading System: 1) Open Until Closed by TP or SL – once the trade is open, it can only be closed by Take-Profit, Stop-Loss or at EOD (if turned on) ||| 2) OCA – Opposite Trade will Open Closing Current Trade – Same as 1), except that when and if an OPPOSITE signal is received > indicator will close current trade immediately (profit or loss) and open a new one(NOTE: This will only happen with an OPPOSITE direction trade!) ||| 3) Open Until Opposite Signal or EOD (if turned on) – This approach is the simplest one, there are no Take-Profits or Stop-Losses, the trade is open until an OPPOSITE signal is received or until EOD (if turned on).
Take-Profit, Stop-Loss and Multi-Profit Settings
>>>>> MULTIPROFIT | TP (Take-Profit) System: 1) Static – Once the trade is open, all Take-Profit target(s) are immediately calculated and set for the trade > once the target(s) is hit > trade will be partially closed (if candle bar closes beyond several Take-Profit targets > trade will be reduced accordingly to the amount of how many Take-Profit targets were hit) ||| 2) Dynamic – Once the trade is open, only the 1st Take-Profit target is calculated, once the 1st Take-Profit is hit > next Take-Profit distance is calculated based on the distance from trade Entry to where 1st Take-Profit was taken, once 2nd Take-Profit is taken > 3rd Take-Profit is calculated per same logic, these are good for price momentum as with price speeding up – profits increase as well!
NOTE: Below 2 settings, each correspond to only 1 setting of the TP (Take-Profit) System, please pay attention to the above TP system setting before changing SL settings!
>>>>> MULTIPROFIT | SL (Stop-Loss) System : 1) Static – Once the trade is open, Stop-Loss is calculated and set for the remaining of the trade ||| 2) Dynamic – At trade open, Stop-Loss is calculated and set the same way, however once 1st Take-Profit is taken > Stop-Loss is moved to Entry, reducing the risk.
>>>>> MULTIPROFIT | SL (Stop-Loss) System : 1) Static - Once the trade is open, Stop-Loss is calculated and set for the remaining of the trade ||| 2) Dynamic – At trade open, Stop-Loss is calculated and set the same way, however with each Take-Profit taken, Stop-Loss will be moved to previous Take-Profit (TP1 taken > SL:Entry | TP2 taken > SL:TP1 | TP3 taken > SL:TP2 | TP4 taken > SL:TP3 | TP5 taken > trade closed), this is basically a smart Stop-Loss trailing system!
>>>>> # of TPs (number of take profit targets): Just like it is named, this is where you select the number of Take-Profit targets for your trading system (NOTE: If “3) Open Until Opposite Signal or EOD (if turned on)” Trading System is selected, this setting won’t do anything, since there are no TP or SLs for that system).
>>>>> TP(s) offset: This is a special feature for all Take-Profit targets, where you can turn on a customizable offset, so that if the price is almost hitting the Take-Profit target, but never actually touches it > you will capture it. This is good to use with HHLL (Highest High Lowest Low), which is pretty much a Support/Resistance as often the price will nearly touch these strong areas and turn around…
---------------------------------------------------------------------------
Dynamic/Static Take-Profit and Stop-Loss visual examples:
1) Fully Dynamic Take-Profit and Stop-Loss setup for BTCUSD
See how Take-Profit distances increase with price momentum and how Stop-Loss is following the trade reducing the risk!
2) Static/Dynamic, Static Take-Profit and Dynamic Stop-Loss setup for SPY (S&P500 ETF TRUST)
You can see a static Take-Profit set at position open, while Stop-Loss is semi-dynamic adjusting to Entry once TP1 target is taken!
3) Fully Static Take-Profit and Stop-Loss setup for SPY (S&P500 ETF TRUST)
This one is a fully static setup for both Take-Profit and Stop-Loss, you can also observe how trade is closed right before the Power Hour (trade can be closed right before Power Hour or right before Market Closes or left overnight as you desire).
---------------------------------------------------------------------------
Trade Analysis and Cleanup Settings
>>>>> Candle Analysis | Candle Color signal confirmation: If closed candle bar color does not match the signal direction > no trade will be open.
>>>>> Candle Analysis | Skip opposite candle signals: If closed candle bar color will match the signal direction, but candle structure will be opposite (for example: bearish green hammer, long high stick on top of a small green square) > no trade will be open.
>>>>> Candle Analysis | Skip doji candle signals: If closed candle bar will be the uncertain doji > no trade will be open.
>>>>> Divergence/Oscillator Analysis | EWO (Elliot Wave Oscillator) signal confirmation: LONG will only be open if at signal, EWO is green or will be at bullish slope (you can select which setting you desire), SHORT if EWO is red or will be at bearish slope.
>>>>> Divergence/Oscillator Analysis | VWAP signal confirmation: LONG will only be open if at signal, the price will be above VWAP, SHORT if below.
>>>>> Divergence/Oscillator Analysis | Moving Average signal confirmation: LONG will only be open if at signal, the price will be above selected Moving Average, SHORT if below.
>>>>> Divergence/Oscillator Analysis | ATR signal confirmation: LONG will only be open if at signal, the price will be above ATR, SHORT if below.
>>>>> Divergence/Oscillator Analysis | RSI + MACD signal confirmation: LONG will only be open if at signal, RSI + MACD will be bullish, SHORT if RSI + MACD will be bearish.
===========================================================================
Alert Settings (you don’t have to touch this section unless you will be using TradingView alerts through a Webhook to use with trading bot)
---------------------------------------------------------------------------
Here is how a LONG OPEN alert looks like (each label is customizable + I can add up more items/labels if needed):
COIN: BTCUSD
TIMEFRAME: 15M
LONG: OPEN
ENTRY: 20000
TP1: 20500
TP2: 21000
TP3: 21500
SL: 19000
Leverage: 0
===========================================================================
Trade Open Signal SOURCE + Take-Profit/Stop-Loss SOURCE
---------------------------------------------------------------------------
>>> Customize your signal SOURCE, Take-Profit and Stop-Loss SOURCE as desired (NOTE: These are pre-configured and should be usable on majority of markets, however feel free to play around with these settings as there is nearly an infinite amount of setups out there!
===========================================================================
Adding Alerts in TradngView
---------------------------------------------------------------------------
-Right-click anywhere on the TradingView chart
-Click on Add alert
-Condition: Select this indicator by it’s name
-Alert name: Whatever you want
-Hit “Create”
-Note: If you change ANY Settings within the indicator – you must DELETE the current alert and create a new one per steps above, otherwise it will continue triggering alerts per old Settings!
===========================================================================
If you have any questions or issues with the indicator, please message me directly via TradingView.
---------------------------------------------------------------------------
Good Luck! (NOTE: Trading is very risky, so please trade responsibly!)
Cyatophilum SmartStrategy MakerThis indicator allows you to use any other indicator from the TradingView library and create complex entry and exit conditions with ease thanks to several external inputs. Add risk management to your strategy and backtest it before creating alerts!
Key Features:
1 — Entry Conditions: Traders can define their entry conditions using up to three sources. They can choose from several options such as "Cross," "Crossover," "Crossunder," "Above," "Below," or "Equal" for comparing the selected sources.
2 — Entry Gates: Users can set logical gates (e.g., "AND," "OR," "XOR," "NAND," "XNOR") to combine multiple entry conditions.
3 — Exit Conditions: Similar to entry conditions, traders can define exit conditions based on two sources and select from various comparison options.
4 — Stop Loss: The indicator allows users to enable or disable a stop-loss feature. The stop-loss value is calculated based on a percentage of the base order price.
5 — Take Profit: Traders can set multiple take-profit levels by specifying the number of take profits, a base percentage, and a step value. Take profits can be defined as a percentage from the total volume or the base order.
6 — Safety Orders (DCA): The indicator supports the use of safety orders (Dollar Cost Averaging) to help manage risks. Users can set the number of safety orders, price deviation, step scale, and volume scale.
7 — Backtest Settings: Traders can define the start and end periods for backtesting their strategy. This feature allows them to analyze the performance of their strategy within specific timeframes.
8 — Alerts: The indicator provides the option to create alerts for entry, exit, stop loss, take profit, and safety orders. Users can customize the alert messages using placeholders for dynamic values like price, symbol, and order size.
DLX-NationThis Strategy is based on 8 EMAs and the RSI ( 14 Length )
Its algorism check for the trend of the market using crossover EMAs, then it waits for a 38% - 50% pullback. During this Pullback it checks the behaviour of the EMAs by making sure consolidation is coming to and end by checking if the red EMA cuts through certain candle bodies. Then it detects a takeover in the market, meaning during a pullback ( in case of a buy ) it calculates the selling volume and waits to confirm that buyers retake over the Market by calculating the candle sizes making sure the current candle is bigger than the previous candle using the 3rd EMA (if 50 EMA is below market price) then finally It checks if there is enough buying Strength ( in case of a buy ) or enough selling strength ( in case of a sell) by checking the RSI level over a certain period of time. When all these confirmations are done, it then analyses previous supports and resistence, and only sends a signal if there is not resistance for a buy and no support for a sell.
Its best for a strong bullish or bearish 1min, 5mins and 15mins market, thats why it only available on US30 and NAS100 for now. Its best when all the EMAs are spreading out or in other words the distance between the EMAs are increasing.
In case of a consolidation, you will see all EMAs moving together and in this case you shouldnt take any signal called. Following EMAs should guide you identifying a consilidation
50 EMA = Aqua
90 EMA = Green
150 EMA = Purple
200 EMA = Gray
400 EMA = Orange
800 EMA = Blue
Note: If you see all these EMA coming closer to each other, it indicates a long going consolidation and during these moments you shouldnt execute any signal. These is the reason why we decided to plot them on the Chart. We understand trading with a clean Chart is important, moreover using certain tools to be more profitable is essential. In case the 50 EMA ( Aqua ) Crosses over or below the 150 EMA ( Green ) and 200 EMA (Gray), this will indicate end of the consolidation and the signals will have more liquidity and movement.
Lastly when a signal is being called make sure the last candle is clearly bigger than the previous candles, this indicates that the buyer ( in case of a buy candle ) are clearly taking over the market or the sellers ( in case of a sell candle ) are clearly taking over the market giving you more volume and liquidity.
To optain the max Profit:
After adding the Strategy / Indicator on your Chart go to Settings -> Properties and set the Pyramiding to 30. These implies that we can have 30 consecutive buy signals in a row or sell signals in a row. We recommend an initail Balance of 2000$, but mininum 1000% and a lotsize of 10cent per pip (0.1). Strickly follow the Take Profit (100pips) and StopLoss (500pips) level that will be provided in this case also risk only 1% of your account per trade and maximun 5% per running trades.
Keep in mind, the smaller the TImeframe the more trades you will recieve and the stronger the momentum the more profitable the trade will be.
Reinforced RSI - The Quant Science This strategy was designed and written with the goal of showing and motivating the community how to integrate our 'Probabilities' module with their own script.
We have recreated one of the simplest strategies used by many traders. The strategy only trades long and uses the overbought and oversold levels on the RSI indicator.
We added stop losses and take profits to offer more dynamism to the strategy. Then the 'Probabilities' module was integrated to create a probabilistic reinforcement on each trade.
Specifically, each trade is executed, only if the past probabilities of making a profitable trade is greater than or equal to 51%. This greatly increased the performance of the strategy by avoiding possible bad trades.
The backtesting was calculated on the NASDAQ:TSLA , on 15 minutes timeframe.
The strategy works on Tesla using the following parameters:
1. Lenght: 13
2. Oversold: 40
3. Overbought: 70
4. Lookback: 50
5. Take profit: 3%
6. Stop loss: 3%
Time period: January 2021 to date.
Our Probabilities Module, used in the strategy example:
[SPOILED]SuperTrench - ETH Super ScalperHi Traders,
I'm republishing this script as I finally polished it to perfection IMO. The script uses 5 coding sections: entry, trend filter, pivot filter, take profit, and stop loss. The script mainly uses trailing as take profit; this is probably the easiest way to make a profitable scalper strategy.
Backtest capital is set to 1000 USDT, 35% equity, 0.04% commission, limited backtest date from Jan 2022 to now, backtested on ETH/USDT prep contracts 15m timeframe, result as shown below.
It looks unreal right? Hell no, I actually tested this strategy on Binance from Dec 06 to Dec 10. I got 8.29% return with 4x leverage, 50% equity setup; 75% win rate,1.58 profit factor, with 4.3% max drawdown, it is amazingly close to the backtest result.
User Manual
Entry >>> Stoch RSI:
I added 5 MA types to the Stoch RSI which is HMA/VWMA/WMA/EMA/SMA, HMA with Length setting of 5, 8 seems to be most efficient, VWMA and WMA with 8, 13 will generate less entry signals but with less entry risks.
Entry >>> R Style:
It based on price action, with candlestick makes a U turn, after 2nd candlestick confirmed, it generates entry signal, this will give you some extra entries, better leave it enabled.
Entry >>> Price Step:
This probably is the core feature of this strategy; also my secret ingredient to making this strategy this efficient. It is recommended to enable step 1-5, more steps basically means more entries, but they are not necessarily profitable.
Trend Filter >>> Price Step:
I couldn't tell you much details about how this indicator works, but it is a reliable indicator, based on price action, and I got some ideas from Demark9 indicator. The bigger the level, the stronger the filter is, please note that if 'Price Step Entries' less than Price Step Trend, entries will be ignored.
Pivot Filter >>> RSI Pivot & Pinbar Pivot:
RSI Pivot detects if the RSI signal line making U turn in certain condition, Pinbar detection combines R Style entry when price action U turn took place, these 2 pivot filter will close the trade once it is counter trend, so it better enable and leave it as is.
Trend Filter >>> Trend Magic:
Trend Magic uses CCI and ATR to calculate trend status, green means uptrend, red means downtrend, pretty straight forward, the best value for this indicator would be, 21, 34, 55, 89.
Trend Filter >>> Alpha:
This filter combines R style pivot, price step, EMA all together to detects consolidation area, because EMA was involved, so the best look back period would be around 15-35, it is best to use default value IMO, in another hands, if you need stronger filter, feel free to use 10, 18, 20, 25, 30, 35, make sure look back period should increase or decrease by 5 every time.
Take Profit and Stop Loss:
The default value for tp is set to 0.4%, but I also give you option to switch to ATR TP; you can adjust in the ATR multiplier, default ATR trailing stop loss uses 1 ATR, but you can adjust it for better drawdown tolerance. Fixed ATR SL is also given when fixed ATR is enabled. There will be a failsafe SL default set to 1% if price moves counter direction of opened position, it will close trade no matter what happens.
Enjoy :)
Miyagi BacktesterMiyagi: The attempt at mastering something for the best results.
Miyagi indicators combine multiple trigger conditions and place them in one toolbox for traders to easily use, produce alerts, backtest, reduce risk and increase profitability.
The Miyagi Backtester is a standalone backtester which is to be applied to the chart after the Miyagi indicator to be backtested.
The backtester can only backtest one script at a time, and is meant to backtest ONCE PER BAR CLOSE entries.
It is currently not possible to backtest ONCE PER BAR entries.
The backtester will allow users to all Miyagi Indicators using DCA strategies to show returns over a selectable time period.
The backtester allows leverage, and as such users should be aware of the Maximum Amount for Bot Usage and Leverage Required Calculations.
The DCA Selector switch will allow users to backtest with, or without DCA.
Static DCA is used within the backtester and allows users to see DCA Statistics on closed trades.
How to use the Miyagi Backtester
Step 1: Apply the Miyagi Indicator of Choice to backtest (4in1/10in1/Strend).
DATE AND TIME RANGE:
-Date and time range to backtest.
TRADE:
-Entry source to backtest. Please select the "Outbound Entry Signal Sender"
-Trade Direction to backtest. This can be helpful to backtest according to your strategy (long or short).
-Take Profit % to backtest. This is the percent take profit to backtest. Slippage can be accounted for on the "Properties" tab.
-Stoploss % to backtest. This is the percent stoploss to backtest.
DCA:
DCA Checkbox: Enable the DCA Checkbox to backtest with DCA. Disable it to backtest without DCA.
Leverage: Input the Leverage you will trade with.
Base Order Size (% Equity): This is the Base order (BO) size to backtest in % of equity.
Safety Order Size (% Equity): This is the Safety order (SO) size to backtest in % of equity.
Number of DCA Orders: This is the maximum amount of DCA orders to place, or total DCA orders.
Price Deviation (% from initial order): This is the percent at which the first safety is placed.
Safety Order Step Scale: This is the scale at which is applied to the deviation for the step calculation to determine next SO placement.
Safety Order Volume Scale: This is the scale at which is applied to the safety orders for the volume calculation to determine SO Volume.
Real world DCA Example:
The process is as follows.
Base Order: This is your initial order size, $100 used for Base Order
Safety Order: This is your first safety order size, which is placed at the deviation. $100 Safety Order, it is good to keep the same size as your BO for your scaling to be effective.
Price deviation: This is the deviation at which your first Safety order is placed. 0.3-0.75% used by most of our members.
Safety Order Volume Scale: This is the scale at which is applied to the safety orders for the volume calculation. Scale of 2 used, which means that SO2 = (SO1) * 2, or $200. This scaling is typical for all following orders and as such SO3 = (SO2) *2, or $400.
Safety Order Step Scale: This is the scale at which is applied to the deviation for the step calculation. This is similar to the volume scale however the last order percentage is added.
Scale of 2 used, which means that SO2 % = ((Deviation) * 2) + (SO1%). (0.5% *2) + (0.5) = 1.5%.
This scaling is typical for all following orders except that the prior deviation is used and as such SO3 = ((Prior%) * 2) + (Deviation). (1.5% * 2) +(0.5%) or 3.5%.
Total SO Number: The calculations will continue going until the last SO. It is helpful to understand the amount of SO’s and scaling determines how efficient your DCA is.
Backtester Outputs include:
Net Profit to display net profit
Daily Net Profit to estimate
Percent Profitable which shows ratio of winning trades to losing trades.
Total Trades
Winning Trades
Losing Trades (only applicable if stoploss is used)
Buy & Hold Return (of the backtested asset) to compare if the strategy used beats buy & hold return.
Avg Trade Time is very helpful to see average trade time.
Max Trade Time is very helpful to see the maximum trade time.
Total Backtested Time will return total backtested time.
Initial Capital which is taken from the Properties tab.
Max amount for Bot Usage which can be helpful to see bot usage.
Leverage Required will show you the leverage required to sustain the DCA configuration.
Total SO Deviation will allow users to see the drop coverage their DCA provides.
Max Spent which is a % of total account spent on one trade.
Max Drawdown which displays the maximum drawdown of any trade.
Max % distance from entry shows the maximum distance price went away from entry prior to the trade closing.
Max SO Used which shows the maximum number of SO's used on a single trade
Avg SO Used which shows the average number of SO's used in all closed trades.
Deals closing with BO Only calculation will show how many trades are closed without DCA.
Deals closing with 1-7 SOs calculation will show how many trades are closed with DCA, and allow for fine-tuning.
Happy Trading!
This script will be effective to backtest and produce the best settings for each timeframe and pair across all STP Scripts.
This will take a lot of the manual work out of backtesting for our users while improving profit potential.
Happy Trading!
ATR Trend Run - Signals Alerts SL and TP by Tech Store OnThe script uses several ATR formulas for entering/exiting trades, support/resistance lines to take TP1 (take profit 1) and another ATR formula for TP2 (take profit 2). Everything is fully configurable to your preference, and you can back-test it via TradingView. You can also configure the indicator for signals during US trading sessions (with or without power hour), as well as taking profits/stop-loss session time(s), as well as to close a position at the end of the trading session no matter what. Also, you can turn all of that off, so there are no trading session/end of day limits and each trade will run until it either hits SL, TP1, TP1 > back to entry, TP2. Note: indicator is set to skip consecutive/opposite signals, while you currently have a trade open > if you hit a trend – ride it to the end!
For example: If you will be day trading SPY and you wish to close your positions no matter what right before the market closes (3:45PM ET > 15min before closes): Make sure to checkbox “Intraday – Close Position Before Market Closes” in the strategy/indicator Settings, so that you are alerted soon before the market closes, if you wish to continue holding the position – leave this checkbox unchecked.
SL: SL is set to be slightly above/below the signal candle, which is best suited for this strategy.
Strategy Take Profit Approach
While the initial position open and SL hit is always based on a closed candle bar (can’t do otherwise, as otherwise you will have 10s of fake signal alerts), there are 2 ways on trading this strategy in terms of TP1 and TP1 taken > back to Entry, which is based off Alert type.
You can switch this as you like within the indicator settings, “Checked: TP1 taken > back to Entry per Price Touch | Unchecked: per Candle Close”.
Candle Close vs Price Touch: with the Default method - Candle Close for an alert for TP1 or if price comes back to Entry after TP1 is taken will only be triggered once candle bar fully closes crossing the area, while Price Touch will alert when price touches the area before candle bar closes.
For example: your trade is running well, you grab TP1 and the price reverses and hits your trade Entry area. With Price Touch – you are immediately alerted to close your trade with no loss and with TP1 profit. With Candle Close - you will receive an alert only once candle bar fully closes on top of the Entry crossing it backwards, meaning it may lower your TP1 profit or even completely reverse the trade into loss in case it will be a huge candle bar for any reason. However, it may touch the Entry area, looking like the price is reversing, but then continue per initial trade direction, sometimes becoming a trend. So, while Price Touch seem like a more conservative approach, Candle Close can give you much bigger profits if you catch a trend, but you can always change it via the Settings.
Note: TradingView back-testing engine does not have a feature to open/close orders IMMEDIATELY via Price Touch trigger, but only when the candle closes after price touches the scripted area/line/etc., so you for the most accurate results, test your strategy out via Candle Close setting. Otherwise, decide yourself. I personally like more Candle Close since I can test it out via back-testing with the most accurate results.
TP2 is set per Candle Close as often the ATR trailing stop line will be hit and bounced off, so it’s best to wait until candle actually breaks it/closes through it.
Note: If you will be observing the strategy LIVE, during LIVE candle bar movement – it will look weird, like it’s placing an order after order during any trigger – this seem like a TradingView bug, but is only observational, once the candle bar is closed and you refresh TradingView it will all look correct.
Back-Testing
If you wish to do some back-testing, just modify the strategy/indicator Settings:
-----1) STRATEGY: This is for back-testing/experimenting with the script inputs.
----------a. You can setup a start date (date, month, year) from which it will start opening back-test trades, select a position size and select TP1 size, the idea here is to close half (or whatever you choose) portion of the trade once you hit your TP1, then to either close at small profit or to catch a trend and close the second portion of the position long way ahead from Entry, otherwise it will alert you to close the position at TP2, if price comes back to Entry, at reversal signal or at the end of US trading session if the option for it is checked. If you wish to close the whole position at TP1, just enter the same amount for TP1 to match backtest position size. Otherwise you can experiment with TP1 sizing – try it out!
-----2) Feel free to experiment with ATR settings and with S&R Left/Right bars, you may be amazed how results will differ and find some really cool combinations!
-----3) Make sure you select/de-select “Intraday – Close Position Before Market Closes” setting depending on what you are back-testing and on which conditions
-----4) Note: If you wish to do some deep back-testing (1+ years), use the “Deep Backtesting” feature within Strategy Tester on the TradingView as otherwise it may show wrong results or even fail to compute the results
Add the alerts
-----Right-click anywhere on the TradingView chart
-----Click on Add alert
-----Condition: ATR Trend Run - Signals Alerts SL and TP, by Tech Store On
----------o Right underneath the condition click on the drop-down menu and select “alert() function calls only”
-----Expiration time: Whatever you wish
-----Alert actions: Whatever notifications you wish
-----Alert name: DO NOT TOUCH THIS
-----Hit “Create”
-----Note: If you change ANY Settings within the indicator – you must DELETE the current alert and create a new one per steps above, otherwise it will continue triggering alerts per old Settings!
- Note: If you add the alert while the script is currently “In Position” it will not know that. So either wait when there will be no position open at all or close your position partially if the bot opens it twice bigger or so in case per script the bot will think it is already in position.
Note: Because of the slippage and the order processing time between TradingView, AutoView and the Broker (it’s usually about a second or so), it is suggested to not use a timeframe lower than 1min. The script is working really well with 1M/3M/5M/H1/H4 timeframes per my back-testing, but feel free to explore via Strategy Back-testing what’s best for the instrument you wish to trade.
If you wish to try this out for a week or so – please reach out and I will give you access.
MACD with Support and Resistance - Signals, Alerts, TP and SLMACD with Support and Resistance - Signals Alerts SL and TP by Tech Store On
The script uses MACD for entering/exiting trades and support/resistance lines to take TP1 (take profit 1). Both MACD and support/resistance lines are fully configurable to your preference, and you can back-test it via TradingView. Once TP1 is taken, you can either set the indicator to close the trade at the end of the US trading session day (4PM ET) or you can continue taking partial profits where you wish or just wait until reversal signal alert.
For example: If you will be day trading SPY and you wish to close your positions no matter what right before the market closes (3:45PM ET > 15min before closes): Make sure to checkbox “Intraday – Close Position Before Market Closes” in the strategy/indicator Settings, so that you are alerted soon before the market closes, if you wish to continue holding the position – leave this checkbox unchecked.
SL: SL is set to be slightly above/below the MACD signal candle, which is best suited for this strategy from manual backtesting.
Strategy Take Profit Approach
While the initial position open and SL hit is always based on a closed candle bar (can’t do otherwise, as otherwise you will have 10s of fake signal alerts), there are 2 ways on trading this strategy in terms of TP1 / TP1 taken > back to Entry, which is based off Alert type.
You can switch this as you like within the indicator settings, “Checked: TP1/TP1 taken > back to Entry per Price Touch | Unchecked: per Candle Close”.
Candle Close vs Price Touch: with the Default method - Candle Close for an alert for TP1 or if price comes back to Entry after TP1 is taken will only be triggered once candle bar fully closes crossing the area, while Price Touch will alert when price touches the area before candle bar closes.
For example: your trade is running well, you grab TP1 and the price reverses and hits your trade Entry area. With Price Touch – you are immediately alerted to close your trade with no loss and with TP1 profit. With Candle Close - you will receive an alert only once candle bar fully closes on top of the Entry crossing it backwards, meaning it may lower your TP1 profit or even completely reverse the trade into loss in case it will be a huge candle bar for any reason. However, it may touch the Entry area, looking like the price is reversing, but then continue per initial trade direction, sometimes becoming a trend. So, while Price Touch seem like a more conservative approach, Candle Close can give you much bigger profits if you catch a trend, but you can always change it via the Settings.
Note: TradingView back-testing engine does not have a feature to open/close orders IMMEDIATELY via Price Touch trigger, but only when the candle closes after price touches the scripted area/line/etc., so you for the most accurate results, test your strategy out via Candle Close setting. Otherwise, decide yourself. I personally like more Candle Close since I can test it out via back-testing with the most accurate results.
Note: If you will be observing the strategy LIVE, during LIVE candle bar movement – it will look weird, like it’s placing an order after order during any trigger – this seem like a TradingView bug, but is only observational, once the candle bar is closed and you refresh TradingView it will all look correct.
Back-Testing
If you wish to do some back-testing, just modify the strategy/indicator Settings:
-----1) STRATEGY: This is for back-testing/experimenting with the script inputs.
----------a. You can setup a start date (date, month, year) from which it will start opening back-test trades, select a position size and select TP1 size, the idea here is to close half (or whatever you choose) portion of the trade once you hit your TP1, then to either close at small profit or to catch a trend and close the second portion of the position long way ahead from Entry, otherwise it will alert you to close the position if price comes back to Entry, at reversal signal or at the end of US trading session if the option for it is checked. If you wish to close the whole position at TP1, just enter the same amount for TP1 to match backtest position size. Otherwise you can experiment with TP1 sizing – try it out!
-----2) Feel free to experiment with MACD settings and with S&R Left/Right bars, you may be amazed how results will differ and find some really cool combinations!
-----3) Make sure you select/de-select “Intraday – Close Position Before Market Closes” setting depending on what you are back-testing and on which conditions
-----4) Note: If you wish to do some deep back-testing (1+ years), use the “Deep Backtesting” feature within Strategy Tester on the TradingView as otherwise it may show wrong results or even fail to compute the results
Add the alerts
-----Right-click anywhere on the TradingView chart
-----Click on Add alert
-----Condition: MACD with Support and Resistance - Signals
----------o Right underneath the condition click on the drop-down menu and select “alert() function calls only”
-----Expiration time: Whatever you wish
-----Alert actions: Whatever notifications you wish
-----Alert name: DO NOT TOUCH THIS
-----Hit “Create”
-----Note: If you change ANY Settings within the indicator – you must DELETE the current alert and create a new one per steps above, otherwise it will continue triggering alerts per old Settings!
- Note: If you add the alert while the script is currently “In Position” it will not know that. So either wait when there will be no position open at all or close your position partially if the bot opens it twice bigger or so in case per script the bot will think it is already in position.
Note: Because of the slippage and the order processing time between TradingView, AutoView and the Broker (it’s usually about a second or so), it is suggested to not use a timeframe lower than 1min. The script is working really well with 15M/H1 timeframes per my back-testing, but feel free to explore via Strategy Back-testing what’s best for the instrument you wish to trade.
[Sniper] SSL Hybrid + QQE MOD + Waddah Attar StrategyHi. I’m DuDu95.
**********************************************************************************
This is the script for the series called "Sniper".
*** What is "Sniper" Series? ***
"Sniper" series is the project that I’m going to start.
In "Sniper" Series, I’m going to "snipe and shoot" the youtuber’s strategy: to find out whether the youtuber’s video about strategy is "true or false".
Specifically, I’m going to do the things below.
1. Implement "Youtuber’s strategy" into pinescript code.
2. Then I will "backtest" and prove whether "the strategy really works" in the specific ticker (e.g. BTCUSDT) for the specific timeframe (e.g. 5m).
3. Based on the backtest result, I will rate and judge whether the youtube video is "true" or "false", and then rate the validity, reliability, robustness, of the strategy. (like a lie detector)
*** What is the purpose of this series? ***
1. To notify whether the strategy really works for the people who watched the youtube video.
2. To find and build my own scalping / day trading strategy that really works.
**********************************************************************************
*** Strategy Description ***
This strategy is from "SSL QQE MOD 5MIN SCALPING STRATEGY" by youtuber "Daily Investments".
"Daily Investments" claimed that this strategy will make you some money from 100 trades in any ticker in 5 minute timeframe.
### Entry Logic
1. Long Entry Logic
- close > SSL Hybrid Baseline.
- QQE MOD should turn into blue color.
- Waddah Attar Explosion indicator must be green.
2. Short Entry Logic
- close < SSL Hybrid Baseline
- QQE MOD should turn into red color.
- Waddah Attar Explosion indicator must be red.
### Exit Logic
1. Long Exit Logic
- When QQE MOD turn into red color.
2. Short Entry Logic
- When QQE MOD turn into blue color.
### StopLoss
1. Can Choose Stop Loss Type: Percent, ATR, Previous Low / High.
2. Can Chosse inputs of each Stop Loss Type.
### Take Profit
1. Can set Risk Reward Ratio for Take Profit.
- To simplify backtest, I erased all other options except RR Ratio.
- You can add Take Profit Logic by adding options in the code.
2. Can set Take Profit Quantity.
### Risk Manangement
1. Can choose whether to use Risk Manangement Logic.
- This controls the Quantity of the Entry.
- e.g. If you want to take 3% risk per trade and stop loss price is 6% below the long entry price,
then 50% of your equity will be used for trade.
2. Can choose How much risk you would take per trade.
### Plot
1. Added Labels to check the data of entry / exit positions.
2. Changed and Added color different from the original one. (green: #02732A, red: #D92332, yellow: #F2E313)
3. SSL Hybrid Baseline is by default drawn on the chart.
4. If you check EMA filter, EMA would be drawn on the chart.
5. Should add QQE MOD and Waddah Attar Explosion indicator manually if you want to see QQE MOD.
**********************************************************************************
*** Rating: True or False?
### Rating:
→ 1.5 / 5 (0 = Trash, 1 = Bad, 2 = Not Good, 3 = Good, 4 = Great, 5 = Excellent)
### True or False?
→ False
→ Doesn't Work on 5 minute timeframe. Also, it doesn't work on crypto.
### Better Option?
→ Use this for Day trading or Swing Trading, not for Scalping. (Bigger Timeframe)
→ Although the result was bad at 5 minute timeframe, it was profitable in 1h, 2h, 4h, 8h, 1d timeframe.
→ BTC, ETH was ok.
→ The result was better when I use EMA filter (only on longer timeframe).
### Robust?
→ So So. Although result was bad in short timeframe (e.g. 30m 15m 5m), backtest result was "consistently" profitable on longer timeframe.
→ Also, MDD was not that bad under risk management option on.
**********************************************************************************
*** Conclusion?
→ Don't use this on short timeframe.
→ Better use on longer timeframe with filter, stoploss and risk management.
Gators Oscillator - Bitcoin Scalp Trader(T&M/e V3!!)Gator's Oscillator:
**For reference, all numbers, and settings displayed on the input screen are only what I HAVE FOUND to be profitable for my own strategy, Yours will differ. This is not financial advice and I am not a financial advisor. Please do your due diligence and own research before considering taking entries based on this strategy and indicator. I am not advertising investing, trading, or skills untaught, this is simply to help incorporate into your own strategy and improve your trading journey!**
INPUTS:
EV: This is an integer value set to default at 55. This value is equated to the lead value, volatility measurement, and standard deviation between averages
EV 2: This integer is used as the base value and is meant to always be GREATER THEN EV, the default is set at 163. There should be at least a 90+ integer difference between EVs for data accuracy.
EV TYPE & EV TYPE 2: This option only affects the output for the moving average histograms. (and data inserted for strategy)
Volatility Smoothing: This is the smoothness of the custom-made volatility oscillator. I have this default at 1 to show time-worthy-term (3.9%+) moves or significant trends to correspond with the standard deviation declination between EVMA and EVMA2.
Directional Length: This is the amount of data observed per candle in the bull versus bear indicator.
Take Profit: Pre-set takes profit level that is set to 4 but can be adjusted for user experience.
Style:
Base Length: Columns equated using a custom-made statistical equation derived from EV TYPE 2+EV2 to determine a range of differential in historic averages to a micro-scale.
Lead Length: Columns equated using a custom-made statistical equation derived from EV TYPE+EV to determine a range of differential in historic averages to a micro-scale.
Weighted EMA Differential: Equation expressing the differences between exponential and simple averages derived from EV+EV Type 2. Default is displaying none, but optional for use if found helpful.
Volatility: Represents volatility from multiple data sets spanning from Bollinger bands to HPV and translated through smoothing.
Bull Strength: The strength of Bulls in the current trend is derived from a DMI+RSI+MACD equation to represent where the trend lies.
Bear Strength: The strength of Bears in the current trend is derived from a DMI+RSI+MACD equation to represent where the trend lies.
(NEW) Standard Deviation between Moving Averages: Use this logarithmic indicator depicted as circles to help determine whether a move is a fake out or not. Compare the circles with the volatility line, if you see them deviating away, it is either a bull/bear trap or trend continuation is imminent until they correlate back together.
CHEAT CODE'S NOTES:
Do not use this indicator on high leverage. I have personally used this indicator for a week and faced a max of 8% drawdown, albeit painful I was on low leverage and still closed on my take profit level.
85% is not 100% do not overtrade using this indicator's entry conditions if you have made 4 consecutive profitable trades.
Mess around with the input values and let me know if you find an even BETTER hit rate, 30+ entries, and a good drawdown!!
V2 UPGRADES:
*Increased Opacity on Bull Bear Columns
*Removed the Stop Loss Input option
*Decreased EV2 to a default of 143 for accuracy
*Added additional disclaimers in the description
* Removed Bull/Bear offset values for accuracy
V3 UPGRADES:
*ADDED THE EMA DIFFERENTIAL FROM SMA STANDARD DEVIATION INDICATOR. REPRESENTED BY PURPLE BARS THAT PLOT BRIGHT AT EXTREME LEVELS (Translate this to the EMA's and SMA's are very far apart) This is a fantastic way to resolve volatility and momentum in one indicator!!
*Line Width increased for volatility
*plot's for Oversold Alma reduced to 3, also adjusted the plot shape to arrows corresponding to 'overbought/oversold values. Look for a cross-over from green/red plot to transparent for best signals.
*Histograms for bull/bear strength correspond to an increase or decrease in value
*Input screen converted into groups, with bull/bear color inline
*Converted base/lead length value's into areas with breaks. IF YOU SEE WHITE (Short/Lead Length), IT IS A SHORT TERM MOVE AND SCALPING OPPORTUNITY. IF YOU SEE BLUE(Long/Base Length) IT MEANS IT IS A MACRO MOVE, WHICH MAY LAST LONGER
-Cheat Code
BINANCE:BTCUSDT BYBIT:BTCUSDT COINBASE:BTCUSD
[MT Trader] Backtest template w/ Supertrend Strategy---EN: In this strategy template you will find some functions already pre-programmed to be used in your strategies to speed up the programming process, among them we can highlight the default stop loss and take profit functions, which will help to set easily and quickly, defining the price range in which we want to prevent large losses or protect our profits from unexpected market movements.
🔴 Stop Loss: Among the functions of the stop loss are the 4 most known, first we have the fixed percentage range (%) and price ($), when the price reaches this fixed price will limit the losses of the operation avoiding larger losses, then we have the average true range (ATR), a moving average of true range and X period that can give us good reference points to place our stop loss, finally the last point higher or lower is the most used by traders to place their stop loss.
In addition, the price range between the entry and stop loss can be converted into a trailing stop loss.
🟢 Take Profit: We have 3 options for take profit, just like stop loss, the fixed range of percentage(%) and price($), are available, in addition to this we have the 1:# ratio option, which multiplies by X number the range between the entry and stop loss to use it as take profit, perfect for strategies that use ATR or last high/low point for their strategy.
📈 Heikin Ashi Entrys: The heikin ashi entries are trades that are calculated based on heikin ashi candles but their price is executed in Japanese candles, thus avoiding the false results that occur in heikin candlestick charts, making that in certain cases better results are obtained in the strategies that are executed with this option compared to Japanese candlesticks.
📊 Dashboard: A more visual and organized way to see the results and data needed for our strategy.
Feel free to use this template to program your own strategies, if you find bugs or want to request a new feature let me know in the comments or through my telegram @hvert_mt
__________________________________________________________________________________________________________________________________________________
---ES: En esta plantilla de estrategia podrás encontrar algunas funciones ya pre-programadas para ser usadas en tus estrategias para acelerar procesos de programación, entre ellas podemos destacar las funciones por defecto de stop loss y take profit, que ayudaran a establecer de manera fácil y rápida, definiendo los rango de precio en los que queremos prevenirnos de perdidas grandes o proteger nuestras ganancias de movimientos inesperados del mercado.
🔴 Stop Loss: Entre las funciones del stop loss están las 4 más conocidas, en primer lugar tenemos el rango de porcentaje fijo(%) y el precio($), cuando el precio alcance este precio fijo se limitaran las perdidas de la operación evitando perdidas mas grandes, después tenemos el promedio de rango verdadero(ATR), una media móvil del rango verdadero y X periodo que nos puede dar buenos puntos de referencia para colocar nuestro stop loss, por ultimo el ultimo punto mas alto o mas bajo es de los mas usados por los traders para colocar su stop loss.
Adicional a esto, el rango de precio entre la entrada y el stop loss se puede convertir en un trailing stop loss.
🟢 Take Profit: Tenemos 3 opciones para take profit, al igual que en el stop loss, el rango fijo de porcentaje(%) y precio($) se encuentran disponibles, adicional a esto tenemos la opción de ratio 1:#, que multiplica por X numero el rango entre la entrada y el stop loss para usarlo como take profit, perfecto para estrategias que usen ATR o ultimo punto alto/bajo.
📈 Entradas Heikin Ashi: Las entradas Heikin Ashi son trades que son calculados en base a las velas Aeikin Ashi pero su precio esta ejecutado a velas japonesas, evitando así los falsos resultados que se producen en graficas de velas Heikin, esto haciendo que en ciertos casos se obtengan mejores resultados en las estrategias que son ejecutadas con esta opción en comparación con las velas japonesas.
📊 Panel de Control: Una manera mas visual y organizada de ver los resultados y datos necesarios de nuestra estrategia.
Siéntete libre de usar esta plantilla para programar tus propias estrategias, si encuentras errores o quieres solicitar una nueva función házmelo saber en los comentarios o a través de mi Telegram: @hvert_mt
T&M/E Wave V2Trend and Momentum With Exception Wave Indicator and Strategy:
This strategy is hand made and I have spent days and many hours making it. The strategy is meant to determine the power between buyers and sellers, match the current power with a historic trend (through a moving average statistical equation), and finally volatility (measured with a mix between standard deviation from Bollinger Bands and HPV). Below will be a list of how to determine the inputs for the indicator
**For reference, all numbers, and settings displayed on the input screen are only what I HAVE FOUND to be profitable for my own strategy, Yours will differ. This is not financial advice and I am not a financial advisor. Please do your due diligence and own research before considering taking entries based on this strategy and indicator. I am not advertising investing, trading, or skills untaught, this is simply to help incorporate into your own strategy and improve your trading journey!**
INPUTS:
EV: This is an integer value set to default at 55. This value is equated to the lead value, volatility measurement, and standard deviation between averages
EV 2: This integer is used as the base value and is meant to always be GREATER THEN EV, the default is set at 163. There should be at least a 90+ integer difference between EVs for data accuracy.
EV TYPE & EV TYPE 2: This option only affects the output for the moving average histograms. (and data inserted for strategy)
Volatility Smoothing: This is the smoothness of the custom-made volatility oscillator. I have this default at 1 to show time-worthy-term (3.9%+) moves or significant trends to correspond with the standard deviation declination between EVMA and EVMA2.
Directional Length: This is the amount of data observed per candle in the bull versus bear indicator.
Take Profit: Pre-set takes profit level that is set to 4 but can be adjusted for user experience.
Style:
Base Length: Columns equated using a custom-made statistical equation derived from EV TYPE 2+EV2 to determine a range of differential in historic averages to a micro-scale.
Lead Length: Columns equated using a custom-made statistical equation derived from EV TYPE+EV to determine a range of differential in historic averages to a micro-scale.
Weighted EMA Differential: Equation expressing the differences between exponential and simple averages derived from EV+EV Type 2. Default is displaying none, but optional for use if found helpful.
Volatility: Represents volatility from multiple data sets spanning from Bollinger bands to HPV and translated through smoothing.
Bull Strength: The strength of Bulls in the current trend is derived from a DMI+RSI+MACD equation to represent where the trend lies.
Bear Strength: The strength of Bears in the current trend is derived from a DMI+RSI+MACD equation to represent where the trend lies.
CHEAT CODE'S NOTES:
Do not use this indicator on high leverage. I have personally used this indicator for a week and faced a max of 8% drawdown, albeit painful I was on low leverage and still closed on my take profit level.
85% is not 100% do not overtrade using this indicator's entry conditions if you have made 4 consecutive profitable trades.
Mess around with the input values and let me know if you find an even BETTER hit rate, 30+ entries and a good drawdown!!
V2 UPGRADES:
*Increased Opacity on Bull Bear Columns
*Removed the Stop Loss Input option
*Decreased EV2 to a default of 143 for accuracy
*Added additional disclaimers in the description
* Removed Bull/Bear offset values for accuracy
-Cheat Code
BYBIT:BTCUSDT
STD-Filterd, R-squared Adaptive T3 w/ Dynamic Zones BT [Loxx]STD-Filterd, R-squared Adaptive T3 w/ Dynamic Zones BT is the backtest strategy for "STD-Filterd, R-squared Adaptive T3 w/ Dynamic Zones " seen below:
Included:
This backtest uses a special implementation of ATR and ATR smoothing called "True Range Double" which is a range calculation that accounts for volatility skew.
You can set the backtest to 1-2 take profits with stop-loss
Signals can't exit on the same candle as the entry, this is coded in a way for 1-candle delay post entry
This should be coupled with the INDICATOR version linked above for the alerts and signals. Strategies won't paint the signal "L" or "S" until the entry actually happens, but indicators allow this, which is repainting on current candle, but this is an FYI if you want to get serious with Pinescript algorithmic botting
You can restrict the backtest by dates
It is advised that you understand what Heikin-Ashi candles do to strategies, the default settings for this backtest is NON Heikin-Ashi candles but you have the ability to change that in the source selection
This is a mathematically heavy, heavy-lifting strategy with multi-layered adaptivity. Make sure you do your own research so you understand what is happening here. This can be used as its own trading system without any other oscillators, moving average baselines, or volatility/momentum confirmation indicators.
What is the T3 moving average?
Better Moving Averages Tim Tillson
November 1, 1998
Tim Tillson is a software project manager at Hewlett-Packard, with degrees in Mathematics and Computer Science. He has privately traded options and equities for 15 years.
Introduction
"Digital filtering includes the process of smoothing, predicting, differentiating, integrating, separation of signals, and removal of noise from a signal. Thus many people who do such things are actually using digital filters without realizing that they are; being unacquainted with the theory, they neither understand what they have done nor the possibilities of what they might have done."
This quote from R. W. Hamming applies to the vast majority of indicators in technical analysis . Moving averages, be they simple, weighted, or exponential, are lowpass filters; low frequency components in the signal pass through with little attenuation, while high frequencies are severely reduced.
"Oscillator" type indicators (such as MACD , Momentum, Relative Strength Index ) are another type of digital filter called a differentiator.
Tushar Chande has observed that many popular oscillators are highly correlated, which is sensible because they are trying to measure the rate of change of the underlying time series, i.e., are trying to be the first and second derivatives we all learned about in Calculus.
We use moving averages (lowpass filters) in technical analysis to remove the random noise from a time series, to discern the underlying trend or to determine prices at which we will take action. A perfect moving average would have two attributes:
It would be smooth, not sensitive to random noise in the underlying time series. Another way of saying this is that its derivative would not spuriously alternate between positive and negative values.
It would not lag behind the time series it is computed from. Lag, of course, produces late buy or sell signals that kill profits.
The only way one can compute a perfect moving average is to have knowledge of the future, and if we had that, we would buy one lottery ticket a week rather than trade!
Having said this, we can still improve on the conventional simple, weighted, or exponential moving averages. Here's how:
Two Interesting Moving Averages
We will examine two benchmark moving averages based on Linear Regression analysis.
In both cases, a Linear Regression line of length n is fitted to price data.
I call the first moving average ILRS, which stands for Integral of Linear Regression Slope. One simply integrates the slope of a linear regression line as it is successively fitted in a moving window of length n across the data, with the constant of integration being a simple moving average of the first n points. Put another way, the derivative of ILRS is the linear regression slope. Note that ILRS is not the same as a SMA ( simple moving average ) of length n, which is actually the midpoint of the linear regression line as it moves across the data.
We can measure the lag of moving averages with respect to a linear trend by computing how they behave when the input is a line with unit slope. Both SMA (n) and ILRS(n) have lag of n/2, but ILRS is much smoother than SMA .
Our second benchmark moving average is well known, called EPMA or End Point Moving Average. It is the endpoint of the linear regression line of length n as it is fitted across the data. EPMA hugs the data more closely than a simple or exponential moving average of the same length. The price we pay for this is that it is much noisier (less smooth) than ILRS, and it also has the annoying property that it overshoots the data when linear trends are present.
However, EPMA has a lag of 0 with respect to linear input! This makes sense because a linear regression line will fit linear input perfectly, and the endpoint of the LR line will be on the input line.
These two moving averages frame the tradeoffs that we are facing. On one extreme we have ILRS, which is very smooth and has considerable phase lag. EPMA has 0 phase lag, but is too noisy and overshoots. We would like to construct a better moving average which is as smooth as ILRS, but runs closer to where EPMA lies, without the overshoot.
A easy way to attempt this is to split the difference, i.e. use (ILRS(n)+EPMA(n))/2. This will give us a moving average (call it IE /2) which runs in between the two, has phase lag of n/4 but still inherits considerable noise from EPMA. IE /2 is inspirational, however. Can we build something that is comparable, but smoother? Figure 1 shows ILRS, EPMA, and IE /2.
Filter Techniques
Any thoughtful student of filter theory (or resolute experimenter) will have noticed that you can improve the smoothness of a filter by running it through itself multiple times, at the cost of increasing phase lag.
There is a complementary technique (called twicing by J.W. Tukey) which can be used to improve phase lag. If L stands for the operation of running data through a low pass filter, then twicing can be described by:
L' = L(time series) + L(time series - L(time series))
That is, we add a moving average of the difference between the input and the moving average to the moving average. This is algebraically equivalent to:
2L-L(L)
This is the Double Exponential Moving Average or DEMA , popularized by Patrick Mulloy in TASAC (January/February 1994).
In our taxonomy, DEMA has some phase lag (although it exponentially approaches 0) and is somewhat noisy, comparable to IE /2 indicator.
We will use these two techniques to construct our better moving average, after we explore the first one a little more closely.
Fixing Overshoot
An n-day EMA has smoothing constant alpha=2/(n+1) and a lag of (n-1)/2.
Thus EMA (3) has lag 1, and EMA (11) has lag 5. Figure 2 shows that, if I am willing to incur 5 days of lag, I get a smoother moving average if I run EMA (3) through itself 5 times than if I just take EMA (11) once.
This suggests that if EPMA and DEMA have 0 or low lag, why not run fast versions (eg DEMA (3)) through themselves many times to achieve a smooth result? The problem is that multiple runs though these filters increase their tendency to overshoot the data, giving an unusable result. This is because the amplitude response of DEMA and EPMA is greater than 1 at certain frequencies, giving a gain of much greater than 1 at these frequencies when run though themselves multiple times. Figure 3 shows DEMA (7) and EPMA(7) run through themselves 3 times. DEMA^3 has serious overshoot, and EPMA^3 is terrible.
The solution to the overshoot problem is to recall what we are doing with twicing:
DEMA (n) = EMA (n) + EMA (time series - EMA (n))
The second term is adding, in effect, a smooth version of the derivative to the EMA to achieve DEMA . The derivative term determines how hot the moving average's response to linear trends will be. We need to simply turn down the volume to achieve our basic building block:
EMA (n) + EMA (time series - EMA (n))*.7;
This is algebraically the same as:
EMA (n)*1.7-EMA( EMA (n))*.7;
I have chosen .7 as my volume factor, but the general formula (which I call "Generalized Dema") is:
GD (n,v) = EMA (n)*(1+v)-EMA( EMA (n))*v,
Where v ranges between 0 and 1. When v=0, GD is just an EMA , and when v=1, GD is DEMA . In between, GD is a cooler DEMA . By using a value for v less than 1 (I like .7), we cure the multiple DEMA overshoot problem, at the cost of accepting some additional phase delay. Now we can run GD through itself multiple times to define a new, smoother moving average T3 that does not overshoot the data:
T3(n) = GD ( GD ( GD (n)))
In filter theory parlance, T3 is a six-pole non-linear Kalman filter. Kalman filters are ones which use the error (in this case (time series - EMA (n)) to correct themselves. In Technical Analysis , these are called Adaptive Moving Averages; they track the time series more aggressively when it is making large moves.
What is R-squared Adaptive?
One tool available in forecasting the trendiness of the breakout is the coefficient of determination ( R-squared ), a statistical measurement.
The R-squared indicates linear strength between the security's price (the Y - axis) and time (the X - axis). The R-squared is the percentage of squared error that the linear regression can eliminate if it were used as the predictor instead of the mean value. If the R-squared were 0.99, then the linear regression would eliminate 99% of the error for prediction versus predicting closing prices using a simple moving average .
R-squared is used here to derive a T3 factor used to modify price before passing price through a six-pole non-linear Kalman filter.
What are Dynamic Zones?
As explained in "Stocks & Commodities V15:7 (306-310): Dynamic Zones by Leo Zamansky, Ph .D., and David Stendahl"
Most indicators use a fixed zone for buy and sell signals. Here’ s a concept based on zones that are responsive to past levels of the indicator.
One approach to active investing employs the use of oscillators to exploit tradable market trends. This investing style follows a very simple form of logic: Enter the market only when an oscillator has moved far above or below traditional trading lev- els. However, these oscillator- driven systems lack the ability to evolve with the market because they use fixed buy and sell zones. Traders typically use one set of buy and sell zones for a bull market and substantially different zones for a bear market. And therein lies the problem.
Once traders begin introducing their market opinions into trading equations, by changing the zones, they negate the system’s mechanical nature. The objective is to have a system automatically define its own buy and sell zones and thereby profitably trade in any market — bull or bear. Dynamic zones offer a solution to the problem of fixed buy and sell zones for any oscillator-driven system.
An indicator’s extreme levels can be quantified using statistical methods. These extreme levels are calculated for a certain period and serve as the buy and sell zones for a trading system. The repetition of this statistical process for every value of the indicator creates values that become the dynamic zones. The zones are calculated in such a way that the probability of the indicator value rising above, or falling below, the dynamic zones is equal to a given probability input set by the trader.
To better understand dynamic zones, let's first describe them mathematically and then explain their use. The dynamic zones definition:
Find V such that:
For dynamic zone buy: P{X <= V}=P1
For dynamic zone sell: P{X >= V}=P2
where P1 and P2 are the probabilities set by the trader, X is the value of the indicator for the selected period and V represents the value of the dynamic zone.
The probability input P1 and P2 can be adjusted by the trader to encompass as much or as little data as the trader would like. The smaller the probability, the fewer data values above and below the dynamic zones. This translates into a wider range between the buy and sell zones. If a 10% probability is used for P1 and P2, only those data values that make up the top 10% and bottom 10% for an indicator are used in the construction of the zones. Of the values, 80% will fall between the two extreme levels. Because dynamic zone levels are penetrated so infrequently, when this happens, traders know that the market has truly moved into overbought or oversold territory.
Calculating the Dynamic Zones
The algorithm for the dynamic zones is a series of steps. First, decide the value of the lookback period t. Next, decide the value of the probability Pbuy for buy zone and value of the probability Psell for the sell zone.
For i=1, to the last lookback period, build the distribution f(x) of the price during the lookback period i. Then find the value Vi1 such that the probability of the price less than or equal to Vi1 during the lookback period i is equal to Pbuy. Find the value Vi2 such that the probability of the price greater or equal to Vi2 during the lookback period i is equal to Psell. The sequence of Vi1 for all periods gives the buy zone. The sequence of Vi2 for all periods gives the sell zone.
In the algorithm description, we have: Build the distribution f(x) of the price during the lookback period i. The distribution here is empirical namely, how many times a given value of x appeared during the lookback period. The problem is to find such x that the probability of a price being greater or equal to x will be equal to a probability selected by the user. Probability is the area under the distribution curve. The task is to find such value of x that the area under the distribution curve to the right of x will be equal to the probability selected by the user. That x is the dynamic zone.
Included:
Bar coloring
Signals
Alerts
Loxx's Expanded Source Types
MZ HTF HFT ROCit Bot - Non Repainting Scalper v1.2 ADX RSI MOM This is a new iteration based on my Momentum trading bot.
This is an original script meant to be a high frequency trader that works on higher time frame calculations.
I came up with the idea that using calculus I can figure out the actual rate of change and momentum with different calculations than the momentum indicator that is provided by trading view. Once momentum is shifted on a small time frame, it will provide an entry signal. The script is meant to be used on an algorithmic trading system for scalping purposes. It should be run on a one minute time frame. Unfortunately due to various plotting constraints in Pinescript, you cannot plot the rate of change and momentum and price in the same pane. To counter this, I have a showdata toggle to give you values of the indicators at each entry.
This version has two main entry settings toggled with a checkbox. There is the ROC (rate of change) version and the MOM (momentum) entry signals.
The rate of change version is meant to take a look at your moving average and try to trigger when it hits a certain rate of change point. This can be helpful if you rather play it safer. I have noticed that you can get slightly better entry points but also does not give you as many entries. The momentum algorithm will give you faster entry points and might work best with a slight offset (use your back test to help you figure it out).
I have started to add tooltips to help you along. If you have suggestions please let me know.
How does it work?
Let's just assume that you are looking at a one minute chart. I recommend using the one minute for bots because it will give you the fastest execution for entries. Pinescript has an issue where the signal is not usually sent until the end of the bar/beginning of next bar. If the signal was triggered at the beginning of a 15 minute bar, it might not actually send the signal until the following 15 minute bar. If you are trading on small time frames, this can make all the difference. If you are using an algo platform that trailing stops, stop losse, take profits, etc. I would recommend you use that platform to close your trade. The close trade message will work, but pinescript does not know the exact entry price you received, so if you are trying to collect small profits, it is best that intermediary platform does that calculation for you. If you are dealing with larger moves, instead of small 1-3% scalps, you are probably fine to use the close message setting from pinescript.
Ok, so to take an example. I like to use the 3L and 3S tokens on Kucoin. This gives you a lot of volatility to work with compared to other tokens and coins. However, it can also meas that you are likely taking a higher risk. However, there are some things that can help with that (more on that later).
So we have a token we want to run, and have it on the 1m chart.
First, be sure that all of your filters are OFF when you start playing with the back test. This allows you to see how to best optimize the bot.
Use the show data to show you additional data when you are backtesting. This can allow you to try to filter out results or market conditions that do not work. I typically work with the RSI and use the 30 minute and 15 minute RSIs. I make sure that it is trading within a certain band - about 40-75. You can try the inverse and only buy during really low RSI's as well.
www.dropbox.com
Find the source of your data with the variant drop down. You can use any time frame, open, close. high, low, olc4. Open is pretty much guaranteed to not have any repainting issues - although all the other calcs use a custom isbarconfirmed security repaint calculation. I have been finding that Open and SMA work well, but feel free to explore. If you use a source like open, close, high, low, etc - the interval will not change anything further. If you use a variant such as an sma, you should try to find an interval that works well for that token. For instance, try an sma of 8-11 minutes and see which gives you the best backtest result without changing anything else. Offset ALMA/LSMA parameters are only used for those specific variants. These specific parameters will also affect the ALMA and LSMA if you use that variant in the trend filter. In other words, you can skip these if you are not using those types of moving averages.
www.dropbox.com
Configure the ROC and MOM intervals. If you are using a source such as open, close, etc- this is where you set the interval for your change. So consider using OHLC4 or a interval of 5 thru 15 and see what works best. The Momentum inverval usually works best in the 2-5 bars. There is a custom calculation I added in to try to filter out false entries as momentum is waning. This calculation works best in 2-5 bar interval.
Configure the trigger point and offset. If you are using rate of change, the best settings will likely be between -1 to 0.5. If you are using momentum, you will likely want -20 to 10. This is where you will notice the entries will shift a bit. Try to find a balance between your backtest settings and actually finding what you thin will be the best entries based on a slight delay from trading view, to algo, to your trading platform. This can likely be a minute (maybe even) or so- so be sure to not get too caught up between the backtest results and be sure to finesse the entries to actually fit nicely - maybe a bar earlier than you would likely think. If your entries are coming in too early, you can use the offset to delay your entry by a few bars. This is both science and an art form- don't get too caught up on the back test results as that is based on having all the data tha already transpired, it's not based on how it will actually perform during deployment.
Take profit and stop loss. This should be self explanatory. This script can toggle between static take profit and a trailing profit. For scalping, you will likely want to limit it below 2% to get a good win ratio. Stop loss should be at least 5-6% for these types of 3L/3S tokens to give the strategy some room to move (if the token goes down 2% before it shoots back up, the price will go down 6%). This does not yield the best R/R ratio from a traditional trader perspective, but the statistical probabilities are in your favor for these events will happen. If you have better ideas for how to set this all up, feel free to contribute your ideas in the comments as we can all learn from each other. You can definitely set a much tighter stop loss with a larger take profit to get a lower win rate but in turn might get much better returns. It's all up to you.
FILTERS www.dropbox.com
These filters require you to know a bit about each indicator and how you want to use them. I will only go over the general idea.
Variant Filter - this is especially useful if you want to trade above a moving average. Say for instance you only want to take trades when we are over the 100 Day moving average. Or above a 30 minute, 30 bar EMA, etc. Although originally ported over from my other scripts, this is not a filter that I use often in conjunction with this script.
RSI - perhaps you want to buy when we are below the 30 line on the 30 minute RSI, or we want only want to have the strategy work when we are above the 50 RSI, this can all be configured here. I typically like to try a few different rationales here.
Now with brand NEW ADX filter - this is a brand new idea that seems to work rather well. Based on your ADX settings you can also turn on the "only uptrend" which will try to calculate if you are in an uptrend based on your ADX config. Please keep in mind that uptrend is based relatively on the ADX settings.
- There is a sprinkle of RSI magic in the entry signal to make sure that rsi is not declining in the calculation, so this can affect how many entries you get.
Some other tips:
Forward test.
Set up your algo bot on a one minute interval.
Set up take profit and stop loss on your algo trading platform.
Don't use the exact settings as your backtest, maybe try a slightly more conservative approach from the algo trading platform to make sure you are within range of triggering your events with a slight delay from signal to execution. If you have a 1.6% take profit, perhaps try 1.5% on your platform first.
By using these scripts you agree that you are trading at your own risk. I make no guarantees of returns or results. I just provide tools to help you trade better. However, I hope this ROCit will take you to the moon. And if it does, be sure to give me a shout as well as some tips of your own.
Send me a message with any questions or suggestions.
RSI+PA+PrTPHi everybody,
This strategy is a RSI, Price Averaging, Pyramiding Strategy based on the earlier RSI+PA+DCA strategy. See below.
For this slightly different strategy I left the DCA option out and instead focused on the Take Profit calculation. In the previous strategy the Take Profit was directly connected to the Average Price level with a specified take profit %. When the price reached the Take Profit all positions where exited. The strategy opened multiple position based on the PA price levels. The separate positions can close when they reach separately specified Take Profit Limit. Each time the prices crosses the PA layer again the position can be re-opened. This causes the average price to drop each time a separate position is opened and closed.
I thought it was an interesting way to minimize losses and in general it works fine. Only when the market goes bearish it can cause significant losses
For the lack of a better word, I dubbed it Progressive Take Profit. The PrTP works different and is less risky. It doesn't directly follow the average price development and is calculated for a part based on the estimated profits of the separate closed positions. Every time a separate position is closed, the profit of that position is deducted of the Take Profit Limit. This causes the Take Profit Limit to drop les drastically then the average price and the whole position will only be closed when the separately opened and closed positions made up for the biggest losses.
There are still some aspects in the puzzle that are not fully worked out yet and I am still working on it, but I wanted to share this idea already and maybe you have some thoughts about it.
The next step is to re-implement a better worked out DCA function.
To be continued.
iCryptoScalperHi everyone!
In this post I would like to present my personal indicator for short-term strategies on cryptocurrencies called iCryptoScalper , but let me first introduce myself:
I am a theoretical physicist with a deep passion for trading and mathematical modelling of the financial markets.
I started trading cryptocurrencies more than 4 years ago and, throughout this period, I got more and more involved in trying to describe the mechanisms governing
the price action at lower timeframes like 1, 5 and 15 minutes.
As a beginner, I started with the usual "buy and hold" strategy, the safest but also boring option. Afterthat, I tried to get more involved on speed trading
and scalping and, as it happens to all the beginners, I went through many mistakes.
At the beginning, trying to find the best scalping strategy, was a very difficult task and I barely managed to perform well, mostly because every trade were overwhelmed
by my emotional approach and the fear of missing the right entry point and/or exit point. However, thanks to these difficulties, I understood that I needed
an algorithmic procedure to improve my performances and overtake the emotional approach, with a more technical approach: a mathematical guide that precisely tells me how to behave in the best way possible to be profitable.
To achieve this goal, I put all my efforts in trying to write a consistent mathematical model able to give me all the statistical informations I needed to reach
the best performances and, of course, the best possible profits.
The iCryptoScalper is an explicit mathematical tool to be used for scalping strategies and optimized for different cryptocurrency pairs on 15/30 min timeframes.
The script gives you many useful informations and details regarding the current and subsequent trade, accompanied with a detailed overview on both the last 20 short
and long trade results.
Let us have a look to all the detailed informations the script shows to you:
CHART
- Lines: The script plots for you the Entry price (yellow line), the Stop Loss price (red line) and a series of 8 Take Profit levels (green lines).
- Background: The green background color indicates that the script is in a long position, viceversa, the red background color indicates that the script is in a short position.
- Labels: The blue labels indicate the maximum achieved profit for each trade.
- Alerts: The script shows two types of alerts, the "prepare to #" one and the true entry one. The prepare alert is very useful to understand when the strategy is going
to enter a specific trade, thus giving you the possibility to set up all the necessary Entry/SL/TP levels on your favorite trading platform.
- Crosses: The green and red crosses are precisely located at the corresponding long and short entry price for the next trade, thus giving you a preview on the target price
that has to be reached for the indicator to enter. They are computed thanks to a mathematical model I set up and optimized for each cryptocurrency pair.
PANEL
- Overview: This part shows you two probability tables for the last 20 long and short trades each. The first table indicates the set of probabilities of reaching the corresponding TP level, whereas the second table shows the conditional probability , namely the probability of reaching a certain profit level once the previous one has been achieved.
Below the tables you can find three quantities again referring to the last 20 long and short trades: the Average Maximum Profit , the Average Maximum Drawdown and the Average Risk/Reward Ratio .
Last but not least, the correlation between the current asset and BTC is displayed together with the current BTC status.
- Active Trade: This part collects all the data related to the current trade status.
- Next Trade: This part collects all the data related to the next trade status.
ATTENTION!
Please notice that the equity line you see in the "Strategy Tester" section of TradingView is unreliable compared to the real performances of the script. This is due to the
fact that the TradingView engine is designed for backtesting automatic trading strategies and not real-time trading bots.
An example is the following: Bob buys 1 BTC-PERP contract at 10000$, setting the Stop Loss at 9000$. The price of the perpetual then goes to 12000$ and then go back hitting the Stop Loss. For the TradingView Engine this is a
trade with a permanent loss of 1000$. However, for the iCryptoScalper users, the trade is perfectly fine thanks to the numerous TP levels (and corresponding probabilities) given by the script within the trade window.